我相信您已经开始使用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服务–陷阱相关推荐

  1. IIS部署asp.net core webapi

    一.需要安装Windows Server Hosting,作用是让IIS有方向代理功能(Asp.Net Core Module负责反向代理工作),将请求转发到Kestrel,Windows serve ...

  2. Linux(CentOS 6.7)下配置Mono和Jexus并且部署ASP.NET MVC3、4、5和WebApi(跨平台)

    1.开篇说明 a. 首先我在写这篇博客之前,已经在自己本地配置了mono和jexus并且成功部署了asp.net mvc项目,我也是依赖于在网上查找的各种资料来配置环境并且部署项目的,而其在网上也已有 ...

  3. 使用Fargate在AWS ECS中部署ASP.NET Core 微服务

    目录 介绍 为何选择ECS Fargate? 先决条件 应用架构 AWS基础架构 ASP.NET Core WebAPI的准备情况 在ECS上运行Docker镜像容器 使用Cloudformation ...

  4. asp.net webapi 自托管插件式服务(转)

    webapi问世已久,稀里糊涂的人哪它都当mvc来使,毕竟已mvc使用级别的经验就可以应对webapi. webapi和mvc在asp.net5时代合体了,这告诉我们,其实 它俩还是有区别的,要不现在 ...

  5. ASP.NETCore微服务(七)——【docker部署linux上线】(ECS+linux+docker+API上线部分)

    ASP.NETCore微服务(七)--[docker部署linux上线](ECS+linux+docker+API上线部分) 对应练习sql下载路径(0积分):[ASP.NETCore微服务(一)-- ...

  6. 使用ASP.Net WebAPI构建REST服务(一)——简单的示例

    由于给予REST的Web服务非常简单易用,它越来越成为企业后端服务集成的首选方法.本文这里介绍一下如何通过微软的Asp.Net WebAPI快速构建REST-ful 服务. 首先创建一个Asp.Net ...

  7. 如何优雅的利用Windows服务来部署ASP.NET Core程序

    上一篇文章中我给大家讲述了五种部署ASP.NET Core网站的方法,其中有一种方式是通过Windows服务来进行部署,这样既可以做到开启自启动,又不会因为iis的反向代理而损失部分性能.但是美中不足 ...

  8. ASP.NET Core中为指定类添加WebApi服务功能

    POCO Controller是 ASP.NET Core 中的一个特性,虽然在2015年刚发布的时候就有这个特性了,可是大多数开发者都只是按原有的方式去写,而没有用到这个特性.其实,如果利用这个特性 ...

  9. 使用ASP.Net WebAPI构建REST服务(四)——参数绑定

    默认绑定方式 WebAPI把参数分成了简单类型和复杂类型: 简单类型主要包括CLR的primitive types,(int.double.bool等),系统内置的几个strcut类型(TimeSpa ...

最新文章

  1. VTK:PolyData之GetMiscPointData
  2. 在未来给我们看病的将是医疗机器人?
  3. #20175201 实验五 网络编程与安全
  4. php开源问答_PHP基础知识能力问答
  5. 部署Linux服务器实验报告,Linux服务器学习----tomcat 服务配置实验报告(一)
  6. Spark SQL 和 Hive UDF ExceptionInInitializerError getRemoteBlockReaderFromTcp BlockReaderFactory
  7. python槽怎么用_【Python成长之路】从零学GUI -- 多窗口跳转(信号与槽函数用法)...
  8. 混乱的MVC,.NET非要MVC不可么?
  9. Confluence 6 导入 Active Directory 服务器证书 - Windows
  10. 深度强化学习之近端策略优化(Proximal Policy Optimization)
  11. Atitit 前后端交互模式 目录 1.1. Ajax 1 1.2. Fetch api 1 1.3. 服务端脚本模式(简单快速) 1 1.4. 浏览器注入对象、函数 1 1.5. 浏览器插件模式
  12. iphone中各种文件路径
  13. Veritas Backup Exec 21安装
  14. Java 数据库基本操作
  15. Spring MVC中使用Swagger生成API文档和完整项目示例Demo,swagger-server-api
  16. 微信小程序从入门到放弃(五)
  17. 原子结构示意图全部_所有原子结构示意图(1-118号)最新元素周期表
  18. linux磁盘写入数据丢失,江湖救急!磁盘数据丢失的救星TestDisk
  19. APP开发:教你从零开始制作一个APP
  20. bzoj1776[Usaco2010 Hol]cowpol 奶牛政坛

热门文章

  1. python2.7安装教程win7_win7 64位环境下,为python2.7 安装pip
  2. python数据类型可变和不可变_python可变数据类型vs不可变数据类型
  3. 求翻转数循环结构C语言,[LeetCode Easy题快一起刷起来] 1. 两数之和 7. 整数翻转
  4. java xmpp消息推送_基于XMPP协议(openfire服务器)的消息推送实现
  5. linux mysql 移动_Linux下安装MySQL
  6. Madagascar的自定义浮点型函数--对数函数
  7. DPDK跟踪库:trace library
  8. #include_next
  9. GitHub#python#:ppt(批量)转换为pdf
  10. php获取laydate,laydate日历控件使用方法实例分享