Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OData/WCF数据服务-HTTP 500错误_Wcf_Http_Odata - Fatal编程技术网

OData/WCF数据服务-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内部服务器错误)表示您正在访问的网站出现服务器问题,导致无法显示网页。) 我不仅遵循了两个站点的示例,还尝试运行了博客海报发给我的

我已经在Windows XP SP3上使用Visual Studio 2010创建了一个OData/WCF服务,并安装了所有当前修补程序

当我点击“在浏览器中查看”时,服务打开,我看到我的EF模型中的3个表。但是,当我在查询字符串的末尾添加一个表名(在本例中为“Commands”)时,我没有看到表中的数据,而是得到了一个HTTP500错误。 (此错误(HTTP 500内部服务器错误)表示您正在访问的网站出现服务器问题,导致无法显示网页。)

我不仅遵循了两个站点的示例,还尝试运行了博客海报发给我的示例应用程序(在他的机器上运行),但仍然没有任何运气

这篇博文在

有人知道为什么会发生这种情况以及如何解决吗

以下是“浏览器中的视图”的输出:

- 
- 
违约
- 
命令
- 
数据库
- 
身份

更新: 为了使这项工作正常进行,我:

  • 已删除并重新安装IIS
  • 运行%WINDIR%\Microsoft.Net\Framework\v4.0.30319\aspnet\u regiis–i–enable命令
  • 运行%WINDIR%\Microsoft.Net\Framework\v4.0.30319\ServiceModelReg.exe-r命令
  • 创建了一个新的解决方案,并非常仔细地遵循说明,以确保 没有把事情搞砸
  • 在所有这些之后,我仍然得到相同的HTTP500错误,在事件查看器中没有任何类型的条目


    还有其他想法吗?

    500
    总是意味着服务中存在未处理的异常。请查看windows事件日志以查看该错误是什么。

    请尝试以下调试提示以查看实际发生的错误:
    我发现我的问题是打开数据库的问题。我的解决方法是在InitializeService方法中的servicename.svc.cs文件中添加以下内容:


    config.UseVerboseErrors=true

    感谢所有试图帮忙的人


    Eric

    config.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>