使用wsHttpBinding时如何在WCF中发射并忘记

时间:2011-02-26 15:55:43

标签: c# wcf fire-and-forget

我在IIS中托管了WCF服务,它由ASP.NET应用程序使用。服务和客户端位于不同的服务器上并通过互联网进行通信。

Message wsHttpBinding以上的安全性被用作安全模型(使用X.509证书)。

我用Fiddler测试了服务,一切似乎都没问题,除非单个呼叫在fiddler中有4个会话(两次往返)。我不需要与WCF进行会话,并且需要我的调用线程(这是asp.net工作线程),而不是在调用WCF方法时被阻止。

如何在使用WCF服务时实现“即发即弃”模式(如果需要,我可以更改服务合同)?

2 个答案:

答案 0 :(得分:1)

火灾和忘记(单向操作)只表示您的操作不会返回任何结果,因此客户端不必等待服务器处理。但它与你在小提琴手中看到的infrastracture调用无关。首先关闭estabilishSecurityContext元素中的negotiateServiceCredentialssecurity(默认情况下处于启用状态),然后重试。

答案 1 :(得分:0)

我假设当你说“发射并忘记”时,你指的是一个不会产生返回参数的Web服务调用。 WCF的概念One-Way Method invocation可能会对您有所帮助。