2010-02-03 150 views
3

我是網絡編程領域的新手,所以我的問題是關於基礎知識。我正在開發SilverLight應用程序,需要從中訪問數據庫。我正在使用LINQ to SQL從數據庫獲取數據,並使用WFC Web服務將其傳遞到我的應用程序。在IIS上託管WCF Web服務 - 適用於VS,但不適用於IIS

當我在Visual Studio中運行我的應用程序時,一切正常。嘗試將Web服務發佈到IIS時 - Web服務調用失敗。

爲了讓我的問題變得簡單,我將重點介紹一個全新的Web服務。這裏的步驟我做:

  1. 啓動Visual Studio 2008 - >文件 - >新建 - >項目 - >網絡 - > WCF服務應用 項目名稱:MyWcfService

  2. 所得,Visual Studio生成>一切正常,我看到了我的服務下http://localhost:52489/Service1.svc鏈接

  3. - 與實現的Web服務的示例項目「服務1」

  4. 重建,從Visual Studio(ASP.NET開發服務器上託管) 啓動

  5. 現在我想在我的IIS上託管這項服務(我已經在Vista x86上安裝了IIS7) Visual Studio - >右鍵單擊項目 - >發佈 - >目標位置 - >創建名爲「MyWcfService」的新Web應用程序 - 發佈

  6. 只是爲了確保檢查我的C:\inetpub\wwwroot\文件夾 - 現在它包含具有所有必需文件的「MyWcfService」子目錄。

  7. 打開IE我的電腦http://localhost/MyWcfService/Service1.svc

結果是:

HTTP錯誤404.3 - 找不到 您請求由於擴展配置問題而無法提供該頁面。如果>該頁面是腳本,請添加處理程序。如果文件應該被下載,添加一個MIME映射。

我試圖從web.config中刪除「身份」部分 - 同樣的問題。關閉防火牆也無濟於事。

任何人都可以幫助我嗎?我做錯了什麼?也許我錯過了什麼?

回答

1

的Silverlight只能調用Web服務隊在同一個域內的應用程序(XAP文件的生活在哪裏)

要叫你需要有一個clientaccesspolicy.xml文件的Web服務生活在那裏不同的域。這可能是你的問題。

<?xml version="1.0" encoding="utf-8" ?> 
<access-policy> 
     <cross-domain-access> 
      <policy> 
        <allow-from> 
         <domain uri="*" /> 
        </allow-from> 
        <grant-to> 
         <resource path="/" include-subpaths="true" /> 
        </grant-to> 
      </policy> 
     </cross-domain-access> 
</access-policy> 
3

Nicholas Allen,項目經理WCF/WWF,Silverlight的@微軟:

什麼登記在IIS負責處理SVC文件?
註冊有兩部分。一部分與ASP.NET有關,另一部分與WCF有關。 ASP.NET部分是ASP.NET ISAPI必須是IIS的服務擴展。 WCF部分是HTTP處理程序必須是託管處理程序。

設置這兩部分的命令是2.0框架工具中的「aspnet_regiis -i -enable」和3.0框架工具中的「ServiceModelReg.exe -r」。

這導致託管處理程序「System.ServiceModel.Activation.HttpHandler,System.ServiceModel,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089」和一個ISAPI模塊「%SystemRoot%\ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_isapi.dll「用於IIS中的* .svc文件。在IIS處理程序映射中,託管處理程序必須位於ISAPI模塊上方纔能使用。

這兩部分一起啓動一個HTTP管道,並將生成的請求傳遞給WCF。

+1

親愛的微軟:謝謝你的回答,但請幫助我們解決這個問題。當你發佈更多版本的WCF,IIS,.NET,Windows等時,你正在爲我們的生活和我們客戶的生活埋下禍根。只要在這裏搜索谷歌這樣的問題,你就會發現這對我們這麼多人來說是一個巨大的問題。 「DLL地獄」是蛋糕相比,這個東西! – 2011-09-23 17:54:19

相關問題