我有一台带有 SQL Server 2012 Express 数据库的服务器。我已通过身份验证连接到它,并将它用作 ASP.NET MVC 4 应用程序的后端。
有了这个应用程序,我还开发了一个 API。在我自己的应用程序中使用 jQuery 以编程方式调用 API 工作正常。查询数据库以获取信息也可以。
但是,当我从 VS2010 运行应用程序并尝试使用可访问数据库的 URL 访问 API 时,我收到 HTTP 500 错误。
只是为了确保这个问题不在我的应用程序端,然后我修改了 API 资源,以便它获取一个本地数组(而不是来自数据库的信息),当我点击相同的 URL 时,它以 XML 形式返回信息本地主机页面。
问题似乎是对 API 的 URL 调用尝试连接到数据库,而不是作为经过身份验证的用户(我),而是从浏览器。
如何配置 SQL Server 以允许在浏览器中对 API 进行 URL 调用以访问数据库并以 JSON/XML 形式返回数据?(例如,就像您可以使用 Twitter REST API 一样)
更新: 调试 HTTP 请求的输出:
请求网址:http://localhost:5555/api/Performance/ShowMachines
请求方法:GET
状态码:500 内部服务器错误
请求标头view source
接受:text/html,application/xhtml+xml,application/xml;q=0.9, / ;q=0.8
接受字符集:ISO-8859-1,utf-8;q=0.7,*;q=0.3
接受编码:gzip、deflate、sdch
接受语言:en-US,en;q=0.8
连接:保持活动
主机:本地主机:5555
用户代理:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11
响应标头view source
缓存控制:私有
连接:关闭
内容长度:0
日期:格林威治标准时间 2012 年 8 月 2 日星期四 16:40:11
服务器:ASP.NET开发服务器/10.0.0.0
X-AspNet-版本:4.0.30319