一、問題說明
Windows Communication Foundation (WCF) 是用於建置服務導向應用程式的架構。
ASP.NET可以快速建置WCF服務,讓網站資料傳遞更為輕便,大有取代Web Service的趨勢。
當我們使用Visual Studio建置包含WCF For AJAX的網站後,在本機運作正常,部署到客戶端時,如果連結service.svc發生404的錯誤時,可能是伺服器尚未設定*.svc的處理常式對應。
(發生的原因可能是:先安裝WCF再安裝IIS)
二、解決方案:
A、開啟網際網路資訊服務 (IIS) MMC 嵌入式管理單元
B、進入處理常式對應,檢查下圖中*.svc的對應設定
1、先設定svc-Integrated-4.0,點選 [新增 Managed 處理常式]
要求路徑:*.svc類型(T):System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
名稱(N):svc-Integrated-4.0
並點選『要求限制』按鈕,取消核取方塊,並點選『確定』完成設定1。
2、設定svc-ISAPI-4.0_64bit,點選[新增指令碼對應]
要求路徑:*.svc執行檔(E):%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll
名稱(N):svc-ISAPI-4.0_64bit
並點選『要求限制』按鈕,取消核取方塊,並點選『確定』完成設定2。
D、完成上述的設定後,就可以讓.NETFramework4.0的web應用程式,支援WCF的服務。
三、後記:
以上說明,希望此備忘錄能幫助使用WCF服務遇到困境的程式開發者解決問題。
※
32位元4.0的類型:System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
32位元4.0的執行檔:%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll
沒有留言:
張貼留言