消费和部署ASP.NET WebApi服务–陷阱
我相信您已经开始使用WebApi。如果不是这样,那么当您开始时,这篇文章仍然可以为您提供帮助。
这篇文章重点介绍我在使用ASP.NET WebApi开发时遇到的一些问题以及解决这些问题的解决方案。
陷阱1 –> PUT和DELETE请求在Internet Explorer 10上不起作用
这一次引起了很大的痛苦,当我开始使用的WebAPI,发现PUT和DELETE要求不工作在Internet Explorer 10(特别是在Windows 8 64位)。我不确定为什么它不能在Internet Explorer的最新和最佳版本中起作用,但事实就是如此。没有针对此问题的解决方法。我们可以将此标签添加到<head>网页的标签中,以使Internet Explorer 10像Internet Explorer 9一样工作。
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" >
您可以将其添加到所有页面上,也可以仅添加到发出PUT或DELETE请求调用的页面上。但是,在使用ASP.NET WebApi进行开发之前,要牢记这一点,直到Microsoft提出针对此的修复程序为止。
陷阱2 –>一旦应用程序部署在IIS中,PUT和DELETE请求就不能工作
当你开始使用WebApi时,你会发现它非常棒,非常简单,只要你在VS中开发和调试你的解决方案,一切都很简单。但是,一旦在IIS中部署了WebApi应用程序,就会遇到问题,如果WebApi调用不起作用,则会遇到一些问题。不要感到惊讶,因为这是一个非常普遍的问题,因为默认情况下,IIS未配置为服务PUT/ DELETE请求。
为WebApi配置IIS 7.5
有时,当在IIS中部署WebApi应用程序时,IIS 7 / 7.5中安装的WebDav模块会导致问题。不知道是什么原因,但是对我有用的解决方案是为我的应用程序删除WebDav模块。这可以通过在web.config文件中添加以下标记来实现,该标记指示IIS不要为我们的应用程序注册WebDav模块。以下标签必须包含在应用程序的web.config中的<system.webServer>标签内。
<modules runAllManagedModulesForAllRequests="true">
<remove name="WebDAVModule" />
</modules>
<handlers>
<remove name="WebDAV" />
</handlers>
为WebApi配置IIS 6
这个有点棘手,并且没有适当的解释为什么会起作用。但是我们需要为WebApi配置IIS6,以使我们的应用程序能够一致地工作。解决方法来自Phil Haack的帖子,内容涉及在IIS 6上使用ASP.NET MVC。帖子本身非常有用,但我们感兴趣的部分位于底部。因此,我将在这里为大家介绍一下:
- 右键单击已部署的应用程序,然后选择属性。
- 在属性窗口中,单击“配置”以打开“应用程序配置”窗口。
- 使用以下方法获取aspnet_isapi DLL 的路径。
一种简单的查找方法是在列表中找到.aspx扩展名,然后双击它以打开映射对话框。
现在,您可以将“可执行文件”文本框中的路径复制到剪贴板。
- 现在,进入先前的“应用程序配置”窗口。在“通配符应用程序映射”部分中,单击“插入...”按钮。
- 这将打开通配符应用程序映射对话框。输入在上一步中复制的aspnet_isapi.dll的路径。
不要忘记取消选中“确认文件存在”复选框!这是人们最常犯的错误之一,如果不去做会让你头痛。这可能会导致应用程序完全停止运行。
就是这样了。你应该做的很好。请记住,每个人可能都不会遇到这些问题,因为他们的IIS可能配置正确,或者他们已经在使用正确版本的正确浏览器。但是对这些陷阱的了解应该派上用场。
消费和部署ASP.NET WebApi服务–陷阱相关推荐
- IIS部署asp.net core webapi
一.需要安装Windows Server Hosting,作用是让IIS有方向代理功能(Asp.Net Core Module负责反向代理工作),将请求转发到Kestrel,Windows serve ...
- Linux(CentOS 6.7)下配置Mono和Jexus并且部署ASP.NET MVC3、4、5和WebApi(跨平台)
1.开篇说明 a. 首先我在写这篇博客之前,已经在自己本地配置了mono和jexus并且成功部署了asp.net mvc项目,我也是依赖于在网上查找的各种资料来配置环境并且部署项目的,而其在网上也已有 ...
- 使用Fargate在AWS ECS中部署ASP.NET Core 微服务
目录 介绍 为何选择ECS Fargate? 先决条件 应用架构 AWS基础架构 ASP.NET Core WebAPI的准备情况 在ECS上运行Docker镜像容器 使用Cloudformation ...
- asp.net webapi 自托管插件式服务(转)
webapi问世已久,稀里糊涂的人哪它都当mvc来使,毕竟已mvc使用级别的经验就可以应对webapi. webapi和mvc在asp.net5时代合体了,这告诉我们,其实 它俩还是有区别的,要不现在 ...
- ASP.NETCore微服务(七)——【docker部署linux上线】(ECS+linux+docker+API上线部分)
ASP.NETCore微服务(七)--[docker部署linux上线](ECS+linux+docker+API上线部分) 对应练习sql下载路径(0积分):[ASP.NETCore微服务(一)-- ...
- 使用ASP.Net WebAPI构建REST服务(一)——简单的示例
由于给予REST的Web服务非常简单易用,它越来越成为企业后端服务集成的首选方法.本文这里介绍一下如何通过微软的Asp.Net WebAPI快速构建REST-ful 服务. 首先创建一个Asp.Net ...
- 如何优雅的利用Windows服务来部署ASP.NET Core程序
上一篇文章中我给大家讲述了五种部署ASP.NET Core网站的方法,其中有一种方式是通过Windows服务来进行部署,这样既可以做到开启自启动,又不会因为iis的反向代理而损失部分性能.但是美中不足 ...
- ASP.NET Core中为指定类添加WebApi服务功能
POCO Controller是 ASP.NET Core 中的一个特性,虽然在2015年刚发布的时候就有这个特性了,可是大多数开发者都只是按原有的方式去写,而没有用到这个特性.其实,如果利用这个特性 ...
- 使用ASP.Net WebAPI构建REST服务(四)——参数绑定
默认绑定方式 WebAPI把参数分成了简单类型和复杂类型: 简单类型主要包括CLR的primitive types,(int.double.bool等),系统内置的几个strcut类型(TimeSpa ...
最新文章
- VTK:PolyData之GetMiscPointData
- 在未来给我们看病的将是医疗机器人?
- #20175201 实验五 网络编程与安全
- php开源问答_PHP基础知识能力问答
- 部署Linux服务器实验报告,Linux服务器学习----tomcat 服务配置实验报告(一)
- Spark SQL 和 Hive UDF ExceptionInInitializerError getRemoteBlockReaderFromTcp BlockReaderFactory
- python槽怎么用_【Python成长之路】从零学GUI -- 多窗口跳转(信号与槽函数用法)...
- 混乱的MVC,.NET非要MVC不可么?
- Confluence 6 导入 Active Directory 服务器证书 - Windows
- 深度强化学习之近端策略优化(Proximal Policy Optimization)
- Atitit 前后端交互模式 目录 1.1. Ajax	1 1.2. Fetch api	1 1.3. 服务端脚本模式(简单快速)	1 1.4. 浏览器注入对象、函数	1 1.5. 浏览器插件模式
- iphone中各种文件路径
- Veritas Backup Exec 21安装
- Java 数据库基本操作
- Spring MVC中使用Swagger生成API文档和完整项目示例Demo,swagger-server-api
- 微信小程序从入门到放弃(五)
- 原子结构示意图全部_所有原子结构示意图(1-118号)最新元素周期表
- linux磁盘写入数据丢失,江湖救急!磁盘数据丢失的救星TestDisk
- APP开发:教你从零开始制作一个APP
- bzoj1776[Usaco2010 Hol]cowpol 奶牛政坛
热门文章
- python2.7安装教程win7_win7 64位环境下,为python2.7 安装pip
- python数据类型可变和不可变_python可变数据类型vs不可变数据类型
- 求翻转数循环结构C语言,[LeetCode Easy题快一起刷起来] 1. 两数之和 7. 整数翻转
- java xmpp消息推送_基于XMPP协议(openfire服务器)的消息推送实现
- linux mysql 移动_Linux下安装MySQL
- Madagascar的自定义浮点型函数--对数函数
- DPDK跟踪库:trace library
- #include_next
- GitHub#python#:ppt(批量)转换为pdf
- php获取laydate,laydate日历控件使用方法实例分享