我正在使用 ASP.NET MVC 4 WebApi,并且在我的本地计算机上的 IIS Express 上运行它很有趣。我也将 IIS Express 配置为为远程计算机提供服务,因此我公司中的其他人正在使用我的计算机作为我们的网络服务器。
在确定这是一个不太理想的解决方案后,我们决定在安装 .NET 4.5 后将 WebApi 放在远程服务器上。当我使用提琴手并将 POST 发送到本地计算机上的控制器时,它会返回正确的响应,但是当我将域更改为运行 IIS7 的网络服务器时,相同的 POST 返回一个神秘的
{“消息”:“发生错误”}
信息。有人知道会发生什么吗?
问题是缺少不在服务器上但在我的本地计算机上的依赖项。在我们的例子中,它是一个 Devart.Data.Linq dll。
为了得到这个答案,我打开了 IIS 跟踪 500 错误。这提供了一些信息,但真正有用的是在 web.config 中设置<system.web><customErrors mode="Off"/></system.web>This 指向缺少动态加载的依赖项。添加此依赖项并告知将其复制到本地后,服务器开始工作。
<system.web><customErrors mode="Off"/></system.web>