簡體   English   中英

WCF RIA Silverlight部署問題

[英]WCF RIA Silverlight deployment issues

對於部署RIA WCF服務存在問題的人來說,世界似乎充斥着現在,現在我也是一個人。 我已經嘗試了很多東西,但無濟於事。 我需要WCF RIA來支持我構建的Silverlight 3應用程序。

簡而言之,使用新的WCF RIA服務(11月9日?)我打開VS 2008,創建新項目(silverlight應用程序),啟用“.NET RIA服務”。 將新項添加到Web項目 - Linq2SQL dbml文件(從之前准備的SQL 2005 DB)並編譯。 我向web項目添加了一個新項目 - 域服務(鏈接我需要的表)並編譯。 使用域上下文我在MainPage中使用標准RIA獲取查詢“加載”數據並添加TextBlock以顯示返回的數據。 建立和運行(卡西尼) - 成功。 使用VS在本地PC上發布到IIS - 成功。

使用VS發布到測試服務器(IIS6) - 瀏覽到位置並加載Silverlight應用程序,但Fiddler告訴我,我在所有WCF .svc請求上都有404。 使用Fiddler在服務請求上“啟動IE”,這是真的 - 404。

我已經運行了aspnet_regiis,ServiceModelReg並為.xap,.xaml,.xbap和.svc添加了mime類型。 我已經包含System.Web.Ria和System.Web.DomainServices DLL以及copy local true。

我需要幫助

a)解決方案

b)尋找解決方案的方法

我也遇到了一些麻煩,雖然一旦我弄清楚它是相對直接的。

首先,請瀏覽http://timheuer.com/blog/archive/2009/12/10/tips-to-deploy-ria-services-troubleshoot.aspx (盡管看起來大部分內容都已被覆蓋)。

檢查新system.webServer位中的web.config和IIS6的舊位中是否有DomainServiceModule:

    <httpModules>
   <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
   <add name="DomainServiceModule" type="System.Web.Ria.Services.DomainServiceHttpModule, System.Web.Ria, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  </httpModules>

最后,我必須通過創建.svc文件手動創建我的服務,其中SL正在尋找它們(來自fiddler)並填寫它們:

<%@ ServiceHost Service="NameOfSerice" Factory="System.Web.Ria.DomainServiceHostFactoryEx" %>

確保你也直接訪問.svc文件(最后沒有/ binary),因為你可以在那里得到一些不錯的錯誤(當你解決404當然!)

HTH,

約旦。

我在這個問題上打了一段時間,但卻找不到.svc文件。 我很快意識到這不僅僅是我的.svc,而是所有.svc文件。 然后它似乎是一個IIS6問題。 事實證明,默認情況下,ASP.NET v4.0x Web服務擴展設置為“禁止”。 進入Web服務擴展配置並將ASP.NET v4.0x設置為“允許”,生活一切都很好。

如果有人對此感興趣,如何使用您自己的批處理腳本將完整的Silverlight解決方案部署到IIS,請閱讀以下帖子中的答案:

Windows 7上的IIS 7中是否有管理服務(WMSVC)UI?

我做到了這一點,因為沒有辦法,VS 2010的內置webdeploy功能正在運行。 批處理腳本使您可以在IIS上運行和調試

我知道,這不是這個問題的明確答案,但這是一個非常相似的問題。

我遇到了同樣的問題。 在Windows 7下使用cassini服務器工作得很好。使用IIS7部署到Windows Server 2008 R2,它不起作用。 Fiddler報告稱正在拋出'EndPointNotFoundException'。

我的解決方案,因為我完全控制服務器,是為VS2008安裝Visual Studio 2008 Express,Silverlight 3 SDK和WCF RIA Services Beta。 這意味着必要的DLL已經安裝在GAC中。 我不認為這會影響結果,但我關閉了Web應用程序引用的RIA DLL的“復制本地”。

可能是一個非正統的解決方案,但它對我有用!!! 實際上,我是根據Microsoft支持的建議做到的。

順便說一句,目前通過微軟支持這一點非常少。 他們實際上正試圖在內部弄清楚誰將支持這項技術:WCF團隊或Silverlight團隊。 我知道它仍處於測試階段,但要注意“GoLive”許可並不意味着它完全支持。 我有一個來自WCF團隊的人,他不顧一切地幫助我,但在電話會議期間多次給我一個免責聲明,通過這些渠道並沒有真正支持。

我認為如果按照此處的說明擴展工廠,您將只使用FactoryEx。 另外,根據我的幫助文件,全名是System.Web.Ria.Services.DomainServiceHostFactory,但解析器也無法創建該類型,盡管我在GAC中有System.Web.Ria。

我同意 - 在https上部署WCF RIA是一項挑戰 - 我還沒有讓它發揮作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM