2011-02-26 57 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,可能會幫助你。

相關問題