OData/WCF数据服务-HTTP 500错误
我已经在Windows XP SP3上使用Visual Studio 2010创建了一个OData/WCF服务,并安装了所有当前修补程序 当我点击“在浏览器中查看”时,服务打开,我看到我的EF模型中的3个表。但是,当我在查询字符串的末尾添加一个表名(在本例中为“Commands”)时,我没有看到表中的数据,而是得到了一个HTTP500错误。 (此错误(HTTP 500内部服务器错误)表示您正在访问的网站出现服务器问题,导致无法显示网页。) 我不仅遵循了两个站点的示例,还尝试运行了博客海报发给我的示例应用程序(在他的机器上运行),但仍然没有任何运气 这篇博文在 有人知道为什么会发生这种情况以及如何解决吗 以下是“浏览器中的视图”的输出:OData/WCF数据服务-HTTP 500错误,wcf,http,odata,Wcf,Http,Odata,我已经在Windows XP SP3上使用Visual Studio 2010创建了一个OData/WCF服务,并安装了所有当前修补程序 当我点击“在浏览器中查看”时,服务打开,我看到我的EF模型中的3个表。但是,当我在查询字符串的末尾添加一个表名(在本例中为“Commands”)时,我没有看到表中的数据,而是得到了一个HTTP500错误。 (此错误(HTTP 500内部服务器错误)表示您正在访问的网站出现服务器问题,导致无法显示网页。) 我不仅遵循了两个站点的示例,还尝试运行了博客海报发给我的
-
-
违约
-
命令
-
数据库
-
身份
更新: 为了使这项工作正常进行,我:
还有其他想法吗?
500
总是意味着服务中存在未处理的异常。请查看windows事件日志以查看该错误是什么。请尝试以下调试提示以查看实际发生的错误:
我发现我的问题是打开数据库的问题。我的解决方法是在InitializeService方法中的servicename.svc.cs文件中添加以下内容:
config.UseVerboseErrors=true代码>
感谢所有试图帮忙的人
Ericconfig.UseVerboseErrors=true代码>帮助我找到了问题。问题是我使用windows身份验证进行数据库连接。更改为SQL Server身份验证后,一切正常。如果您使用的是SQL Server Compact数据文件(如NorthWind.sdf),则需要向IUSRS组授予写入文件权限
例如:如果您正在使用DataDirectory中的NorthWind.sdf,即您的Web/App_数据,则需要从IIS控制台或Windows资源管理器向IUSRS组授予写入权限。您还可以在IIS中激活Web应用程序的失败请求跟踪
然后,当发生500错误时,您将从IIS获得Xml文件中的详细跟踪执行
这里有一篇很好的文章解释了如何在IIS中设置失败的请求跟踪:
嗯
Cédric收到了与VS2013类似的输出:
通过升级实体框架解决
请参阅答案。John,我在事件日志中没有任何条目。为了确保这一点,我清除了现有事件(所有信息-没有与应用程序相关的信息),然后重新运行应用程序。结果相同,事件日志中没有条目。EricYes,我正在我的开发系统上本地运行它。EricI更新了最初的帖子,以说明自上一篇帖子以来我采取了哪些步骤。
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
- <service xml:base="http://localhost:1883/VistaDBCommandService.svc/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns="http://www.w3.org/2007/app">
- <workspace>
<atom:title>Default</atom:title>
- <collection href="Commands">
<atom:title>Commands</atom:title>
</collection>
- <collection href="Databases">
<atom:title>Databases</atom:title>
</collection>
- <collection href="Statuses">
<atom:title>Statuses</atom:title>
</collection>
</workspace>
</service>