【发布时间】:2016-11-09 23:20:21
【问题描述】:
我设法创建了一个部署包并将其安装在 IIS 上。它没有正确地提供内容。
当尝试访问不会路由到 Web API 应用程序的 URL 或请求没有意义时,服务器会做出适当的响应。例如,尝试点击不存在的 url 会给出 404,或者向仅支持 POST 的路由发出 GET 请求会返回 405 方法,此消息不允许:
{
"Message": "The requested resource does not support http method 'GET'."
}
所有其他请求都给出 403 禁止错误。对我来说,这表明路由工作正常,并且存在其他一些配置错误。我已经尝试过这里列出的“坏”和“好”解决方案:http://www.britishdeveloper.co.uk/2010/06/dont-use-modules-runallmanagedmodulesfo.html,但都没有任何区别。
我注意到应用程序没有创建用户数据库表,就像我第一次运行应用程序时它自动创建的那样。我想这可能是相关的。
我相信 IIS 配置正确;它具有 .NET 4 和应用程序池的集成模式。我已确认已通过“添加/删除 Windows 功能”对话框安装了 ASP.NET 4.5。
我尝试托管的应用程序基于:https://github.com/MikeWasson/LocalAccountsApp。我做了非常小的改变。在本地一切正常。
服务器统计:
- Windows Server 2012 R2
- SQL Server 2016
- IIS 8.5
【问题讨论】:
-
刚刚测试了一个不需要授权的端点,请求就超时了。
-
IIS 正在为这些超时记录 302(尽管什么都不发送)
标签: c# asp.net iis asp.net-web-api