WCF部署糾錯

2022-03-11 15:37:00 字數 1862 閱讀 3905

這是「又」是一篇需要長期跟進的帖子。將wcf初次部署到iis上總是會出現很多讓人抓狂的錯誤。雖然已經吃了很多這樣的虧,而且每次都很「深刻」。但是鮮有「完整和豐富」的解決方案。這大抵是因為,這屬於環境配置,一旦環境配置完成,就不會再出現——直到碰到乙個新的環境。所以,這類的經驗積累起來不是很快速,環境又不易重現。零散的tip又極難成文...總的來說,因為種種原因,wcf的部署就是這麼頭痛。所以,我覺得為自己寫乙個跟進貼,慢慢維護。

解決方案來自網上各網友的部落格,但是由於時間的推移,這裡無法一一引用。特此說明。

新增功能是指在windows上安裝功能:

windows系統使用【控制面板-程式和功能-左側的啟用或關閉windows功能】。

windows server系統使用【伺服器管理-新增角色和功能-在嚮導中導航到功能】。

如果問題沒有得到解決,重啟iis是乙個可嘗試的操作。由於說明「需不需要重啟iis」是一件很蛋疼的事情,所以這裡作為備用處理方式進行宣告。

由於作業系統的路徑不同,解決方式中使用的路徑也不同。可使用 %windir%。

在%windir%/system32/找到cmd.exe然後【右鍵-以管理員許可權執行】。

根據作業系統的版本型別(32,64),路徑也會有所不同。

類似的錯誤也需要採取以下方式解決。

無法訪問請求的頁面,因為該頁的相關配置資料無效。

簡單的說就是如圖將以下選項都勾上,我用的是windows8,windows7無需處理.net4.5部分(沒安裝4.5的話)。

在命令提示符cmd(需要以管理員許可權執行)上開啟位址 c:\windows\microsoft.net\framework\v4.0.30319(最高的.net版本,除4.5之外) 。

執行aspnet_regiis.exe -iru 。如圖:

另外,如果是windows8的開發環境,則aspnet_regiis.exe -iru指令執行後會被提示不可用。這個時候只需要參考上面乙個錯誤的解決方式,將需要安裝的功能裝上即可。如果還是不行,就需要檢查iis,需要將iis的應用程式池的模式設定為「經典」(就iis這個操作,其他版本的作業系統未測試)。

以管理員執行命令:

c:\windows\microsoft.net\framework\v3.0\windows communication foundation\servicemodelreg.exe -i

以管理員執行命令:

c:\windows\system32>cd d:\windows\microsoft.net\framework64\v3.0\windows communication foundation\

c:\windows\microsoft.net\framework64\v3.0\windows communication foundation>servicemodelreg.exe -r

.net版本的問題。需要將站點的.net版本和應用程式的.net版本調成一致。如果無法選擇應用程式池版本為4.0(或其他)的話,需要進行以下操作:

【 安裝指定版本.net-以管理員許可權執行:c:\windows\microsoft.net\framework64\v4.0.30319>aspnet_regiis.exe -r】

更多。

Win7 WCF 部署問題

我是win7 系統部署的 iis配置錯誤 無法識別的屬性 targetframework 請注意屬性名稱區分大小寫。問題 不過我的配置是 好像沒影響 接下來報這個錯未能從程式集 system.servicemodel,version 3.0.0.0,culture neutral,轉 解決方法 解決...

糾錯技術之FEC(向前糾錯)

糾錯碼 error correcting code 在傳輸過程中發生錯誤後能在收端自行發現或糾正的碼。僅用來發現錯誤的碼一般常稱為檢錯碼。為使一種碼具有檢錯或糾錯能力,須對原碼字增加多餘的碼元,以擴大碼字之間的差別 即把原碼字按某種規則變成有一定剩餘度 見信源編碼 的碼字,並使每個碼字的碼之間有一定...

IIS 部署WCF服務注意事項

iis部署wcf服務的時候經常會出現如下錯誤 system.servicemodel.endpointnotfoundexception 型別的未經處理的異常在 winformwcfhost.exe 中發生 其他資訊 沒有終結點在偵聽可以接受訊息的 這通常是由於不正確的位址或者 soap 操作導致的...