我有一个关于 Web API 的 Visual Studio 2013 调试模拟器如何工作的问题。
我在 Visual Studio 2013 中构建了一个 Web API 项目来访问外部服务器上的数据库。该代码是使用 VS2013 的 ASP.NET Web 应用程序项目模板构建的,用于 Web API 应用程序。构建完成后,运行调试会打开 localhost 端口 56618 的浏览器窗口,允许 Fiddler 访问以测试 Http 请求。
完成项目后,我使用 Web Deploy to IIS 将其发布到网站。但是,虽然页面会打开(现在位于 localhost:9812),但 http 请求会引发内部服务器错误 500。
仔细阅读 IIS FailedReqLogFiles,我注意到它失败的原因是数据库服务器拒绝访问 '<Domain>\<machine-name>$'。
我在具有读写权限的 sql 实例上添加了 '<Domain>\<machine-name>$' 作为有效登录名(Windows 身份验证,因为连接字符串包括“Integrated Security=true”),问题得到解决。
问题是,为什么 Visual Studio 调试模拟器没有同样的问题?