WCF从Silverlight客户端获取Not Found错误

时间:2011-01-14 13:22:23

标签: wcf silverlight-4.0

有很多关于这个主题的文章,但都没有帮助我。我正在尝试实现可以​​在没有“添加服务参考...”的情况下使用的服务,主要是来自hhttp://www.netfxharmonics.com/2008/11/Understanding-WCF-Services-in-Silverlight-2。 / p>

我做了一个小项目来重现问题。 http://hotfile.com/dl/96710945/9991ac3/SilverlightApplication8.zip.html

我试过像以下那样的解决方案:
- 处理Silverlight中的错误 - 跨域策略 等

完成所有标准检查,例如,服务处于活动状态且可达,客户端成功创建通道等。

我整整一周都遇到了这个问题,我无法理解。

每一个帮助都是值得欣赏的。

2 个答案:

答案 0 :(得分:0)

尼, 尝试在您的Web主机项目中创建服务。在那里添加服务,然后您可以选择在Silverlight应用程序中将其添加为参考。只需在SilverlightApplication8.Web中添加服务即可。右键单击SilverlightApplication8.Web - >添加新项目 - >左边选择Silverlight - >支持Silverlight的WCF服务。然后添加对SilverlightApplication8的引用。

答案 1 :(得分:0)

我没有深入调查,但我认为服务实现类型不好。

所以我的工厂类似乎:

公共类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,它提供了正确的类型信息。