我有一个ASP.NET Web API 2项目,该项目可以在本地计算机上编译并按预期工作,但是当我发布到IIS 8.5服务器时,所有请求都返回了状态码500服务器错误。没有给出其他信息。这是我第一次尝试发布Web API。
我在IIS中创建了一个站点,将其配置为与我创建的其他站点相同,并将其设置为仅HTTPS。我相信网站配置正确,因为我有一个基本的default.html页面,可以轻松连接到该页面,但似乎无法进行任何API调用。我正在使用Postman测试我的API调用。
在Visual Studio中,我使用了Web Deploy,Web Deploy Package和File System Publish选项。对于后两者使用“发布时预编译”选项似乎没有什么不同。
Web Deploy拒绝验证连接,因为它无法连接到远程计算机并确保已安装Web Deploy。我可以通过“程序和功能”来验证它,并且我已经尝试过几乎可以想到的URI的每种组合,以使其无济于事。该错误将我定向到此Microsoft故障排除页面,但是建议的命令似乎不起作用。
Web Deploy软件包使我可以在本地文件系统上创建一个.zip,然后将其传输到托管服务器并使用Web Deploy从IIS导入。下面的屏幕快照是导入后在IIS网站的根目录中看到的。我手动添加HTML文件进行测试,因为它不是我的应用程序的一部分。bin文件夹似乎包含所有必需的DLL文件。
File System Publish输出的结构与Web Deploy Package相同,但行为没有差异。
有什么我想念的吗?我只是不知道还有什么要解决的。
要重复@ n.piskunov的评论,我的应用没有任何错误详细信息政策。Jimmy Bogard的这篇文章解释了Web API不尊重web.config
文件customErrors
设置的原因,这正是我所使用的。它还说明了如何解决上述问题。
启用了详细的错误消息后,我能够确定目标框架未安装在服务器上。安装正确的目标框架解决了我的问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句