2011-02-26 55 views
0

我有一个在IIS中托管的WCF服务,它由ASP.NET应用程序使用。服务和客户端位于不同的服务器上并通过互联网进行通信。如何在使用wsHttpBinding时在WCF中执行并忘记

Message通过wsHttpBinding的安全性用作安全模型(使用X.509证书)。

我用Fiddler测试了服务,一切似乎都没有问题,除非一个电话有4个会话在小提琴手中(两次往返)。我不需要与WCF会话,并希望我的调用线程(这是asp.net工作线程),不要在调用WCF方法时被阻止。

当我使用WCF服务(如果需要,我可以更改服务合同),我该如何实现防火和遗忘模式?

回答

1

火和遗忘(单向操作)只表示您的操作不返回任何结果,因此客户端不必等待服务器处理。但它与您在小提琴手中看到的基础设施呼叫无关。首先在您的security元素中关闭estabilishSecurityContextnegotiateServiceCredentials(这些元素默认为开启),然后再次尝试。

+0

那么,是不是禁用我的安全模型(我需要没有传输安全性的消息安全性)? – Xaqron 2011-02-26 17:22:49

+0

@Xaqron:如果您的安全模式仍将设置为消息,则它不会禁用安全性,但通过禁用estabilishSecurityContext,您将关闭安全会话,并禁用negotiateServiceCredentials,您将关闭服务证书自动传输到客户端 - 客户端必须接收证书出来的乐队。它会减少往返。 – 2011-02-26 17:29:16

0

我假定当你说“即燃即用”时,你指的是一个不产生返回参数的Web服务调用。 WCF的概念是One-Way Method invocation,可能会帮助你。

相关问题