[英]Silverlight client got NotFound error from WCF
關於這個主題有很多文章,但是都沒有幫助我。 我正在嘗試實施可以在沒有“添加服務引用...”的情況下使用的服務,主要是根據hhttp://www.netfxharmonics.com/2008/11/Understanding-WCF-Services-in-Silverlight-2的建議進行的。
我做了一個小項目來重現問題。 http://hotfile.com/dl/96710945/9991ac3/SilverlightApplication8.zip.html
我嘗試了像這樣的解決方案:
-處理Silverlight中的錯誤-跨域策略等
完成所有標准檢查,例如,服務處於活動狀態且可訪問,客戶端成功創建頻道等。
我整整一個星期都在這個問題上,我無法弄清楚。
每一個幫助都是感激的。
Denis,嘗試在您的Web主機項目中創建服務。 在此處添加服務,然后您可以選擇將其添加為Silverlight應用程序中的引用。 只需在SilverlightApplication8.Web中添加服務即可。 右鍵單擊SilverlightApplication8.Web->添加新項目->在左側,選擇Silverlight->啟用Silverlight的WCF服務。 然后添加對您的SilverlightApplication8的引用。
我沒有進行更深入的調查,但是我認為服務實現類類型不好。
所以我的工廠班級看起來像:
公共類TimeServiceFactory繼承System.ServiceModel.Activation.ServiceHostFactoryBase
Public Overrides Function CreateServiceHost(ByVal constructorString As String, ByVal baseAddresses() As System.Uri) As System.ServiceModel.ServiceHostBase
Dim host As New ServiceHost(constructorString, baseAddresses)
需要在以下位置進行更改:
公共類TimeServiceFactory繼承System.ServiceModel.Activation.ServiceHostFactoryBase
Public Overrides Function CreateServiceHost(ByVal constructorString As String, ByVal baseAddresses() As System.Uri) As System.ServiceModel.ServiceHostBase
Dim host As New ServiceHost(GetType(TimeService), baseAddresses)
區別在於我沒有傳遞ConstructorString(它具有服務實現類的類型的信息),我傳遞了GetType(TimeService)instate,它提供了正確的類型信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.