2010-06-12 74 views
12

我已經創建使用Visual Studio 2010在Windows XP SP3安裝所有最新補丁的的OData/WCF服務。的OData/WCF數據服務 - HTTP 500錯誤

當我點擊「在瀏覽器中查看」服務打開,我看到從我的EF模型中的3個表。但是,當我在查詢字符串的末尾添加一個表名(本例中爲「Commands」)而不是從表中查看數據時,出現HTTP 500錯誤。 (此錯誤(HTTP 500內部服務器錯誤)意味着你正在訪問的網站已經從顯示阻止了網頁服務器的問題。)

我不僅遵循從2點的例子,但也已經嘗試運行的博客海報寄給我的示例應用程序(即他的機器上工作),而我仍然沒有任何運氣。

的博客文章是Exposing OData from an Entity Framework Model

有沒有人有這是爲什麼發生,以及如何解決它的想法?

這裏的 「在瀏覽器中查看」 輸出:

<?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> 

=========================== ==

感謝,

埃裏克

============

更新:

在努力得到這個工作,我有:

  1. 刪除並重新安裝IIS
  2. 冉%WINDIR%\ Microsoft.Net \框架\ v4.0.30319 \ ASPNET_REGIIS -i -enable命令
  3. 運行%WINDIR%\ Microsoft.Net \ Framework \ v4.0.30319 \ ServiceModelReg.exe -r命令。
  4. 創建一個新的解決方案和遵循的指示非常小心,以確保我 沒惹什麼了。

畢竟,我仍然得到相同的HTTP 500錯誤,在事件查看器中沒有任何類型的條目。

還有其他想法嗎?

感謝,

埃裏克

回答

16

我想通了,我的問題是與打開數據庫的問題。我想出來的方法是將以下內容添加到servicename.svc中。在InitializeService方法CS文件:

config.UseVerboseErrors=true;

感謝所有誰試圖幫助。

埃裏克

1

500總是意味着有一個在服務未處理的異常。去看看Windows事件日誌,看看是什麼錯誤。

+2

John, 我在事件日誌中沒有任何條目。爲了確保,我清除了現有的事件(所有信息 - 與應用程序無關),然後重新運行應用程序。相同的結果,事件日誌中沒有條目。 Eric – Eric 2010-06-12 22:14:31

+0

@Eric:你在服務器上看過,對吧? – 2010-06-13 01:00:44

+1

是的,我在我的開發系統上本地運行它。 Eric – Eric 2010-06-13 03:38:43

5

config.UseVerboseErrors=true;幫我找出這個問題。問題是我使用Windows身份驗證進行數據庫連接。更改爲SQL Server身份驗證後,一切正常。

0

如果您使用的是SQL Server Compact數據文件(如NorthWind.sdf),則需要爲IUSRS組提供寫入文件權限。例如:如果您在DataDirectory中使用NorthWind.sdf,即YourWeb/App_Data,那麼您需要將寫入權限從IIS控制檯或從Windows資源管理器授予_IUS組。

1

您還可以激活IIS

失敗請求跟蹤您的Web應用程序

那麼當發生500錯誤

這裏有一個很好的文章,解釋如何你會得到從IIS XML文件中的相關詳細跟蹤執行在IIS安裝失敗請求跟蹤:

Using Failed Request Tracing to Trace Rewrite Rules

HTH 塞德里克