我有一个 WCF 服务和一个 Silverlight 5 客户端。我定义了以下接口:
[ServiceContract(Namespace = "Silverlight", CallbackContract = typeof(IDuplexClient))]
public interface IDuplexService
{
[OperationContract]
void Subscribe(string userId);
[OperationContract]
void Unsubscribe(string userId);
}
[ServiceContract]
public interface IDuplexClient
{
[OperationContract(IsOneWay = true)]
void PushNotification(string msg);
}
这是我的 Web.config 文件:
<configuration>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
</configuration>
当我尝试运行该服务时,我得到:
由于编译期间出现异常,无法激活服务“/ServerService.svc”。异常消息是:Contract 需要 Duplex,但 Binding 'BasicHttpBinding' 不支持它或未正确配置以支持它。
我知道我需要向 Web.config 添加一些属性,但是无论我在哪里(以及无论我尝试过什么),我都无法让它工作。
我是 WCF 的新手,我希望您能在该主题上提供帮助。我所有的谷歌搜索都让我无处可去,在这里问同样问题的人得到的答案对我不起作用。
所以我决定放弃搜索,只是问问。
更新:我使用此链接创建界面 - http://msdn.microsoft.com/en-us/library/cc645027%28v=vs.95%29.aspx