2015-09-22 85 views
0

我有一個WCF託管在ASP.NET應用程序中。突然間,當我在visual studio 2010中調試它時,WCF服務停止工作。當我嘗試訪問服務時,它會拋出下面的異常。在Visual Studio中調試時WCF不工作,但在IE中工作

CommunicationException was unhandled by user code. The remote server returned an error: NotFound

我啓用了WCF跟蹤,但沒有記錄錯誤。

奇怪的是,如果我將代碼部署到我的QA服務器並訪問應用程序,該服務工作正常,所以代碼看起來不是問題。

如果我還得到當前在生產中運行的源代碼&嘗試在我的開發環境中進行調試,它會失敗,並出現上面提到的相同錯誤。

任何人都有一個想法可以在我的開發環境中搞砸了什麼?我已經嘗試了IE瀏覽器,火狐& Chrome &的結果是一樣的。

+0

沒有代碼和/或配置示例,指出可能的原因是非常困難的... –

回答

0

我經過很長的調試,涉及刪除Bin & obj文件夾和大量的重建,我終於得到這個WCF服務再次工作。

首先,我懷疑服務可能會損壞,所以我嘗試更新我的Silverlight應用程序中的服務引用,但碰到以下錯誤。

There was an error downloading ' http://localhost/mySite/Webservice/GetData.svc '. The request failed with HTTP status 404: Not Found. Metadata contains a reference that cannot be resolved: ' http://localhost/mySite/Webservice/GetData.svc '. The remote server returned an unexpected response: (405) Method Not Allowed. The remote server returned an error: (405) Method Not Allowed.

我再瀏覽到物理文件夾路徑,以確認是否真的是我的.svc文件在那裏,果然,該文件在那裏。

試圖瀏覽到我的瀏覽器中的路徑http://localhost/mySite/Webservice/GetData.svc在下面碰到另一個錯誤。

HTTP Error 404.7 - Not Found The request filtering module is configured to deny the file extension.

Most likely causes: Request filtering is configured for the Web server and the file extension for this request is explicitly denied.

這讓我開始思考,突然之間,IIS 7.0決定阻止訪問我的.svc文件。 然後,我添加fileExtension =「。svc」mimeType =「application/octet-stream」到IIS,重新啓動IIS,但得到相同的錯誤。

然後我讀了一些博客,我不記得在位於C:\ Windows \ System32 \ inetsrv \ Config的applicationHost.config文件中的<requestFiltering>標記下添加<add fileExtension=".svc" allowed="true" />標記,仍然沒有任何變化。試圖在同一個文件中加入<mimeMap fileExtension=".svc" mimeType="application/octet-stream" />,serverSideInclude,再次沒有運氣。

試過這個http://www.adamwlewis.com/articles/iis-7-not-serving-files-4047-error仍然沒有運氣。

以下兩個步驟是我認爲是什麼解決了這個問題。

  1. 我添加了SVC擴展到ASP.NET的映射通過在C運行ServiceModelReg.exe -i:\ WINDOWS \ Microsoft.NET \框架\ 3.0 \ Windows通訊基礎

在瀏覽器中瀏覽我的.svc文件,這一次看起來我已經取得了一些進展,但仍然有一個錯誤需要克服。下面是。

Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

  • 我通過註冊使用ASP ASP.NET的正確版本解決了上述錯誤。如下
  • https://msdn.microsoft.com/en-us/library/hh169179(v=nav.70).aspx

    中的鏈接描述此時NET IIS註冊工具(Aspnet_regiis.exe)我的服務已恢復正常,因爲它一直是。我仍然沒有弄清楚我的開發機器有什麼問題。

    相關問題