我不能否認雙工異步調用的性能優勢,但有些事情讓我感到很謹慎。WCF雙工客戶端的最佳做法
我擔心的是,給定一個客戶端對象實例化後,WCF能夠告訴哪個特定的客戶端服務實例將接收回調參數?
誰能告訴我,這是個好主意嗎?如果不是爲什麼不呢?
new DuplexChannelFactory<IServerWithCallback>(
new ClientService(),
new NetTcpBinding(),
new EndpointAddress("net.tcp://localhost:1234/"+Guid.NewGuid()))
如果上述虛擬路徑被保留它是如何可以被丟棄。我希望客戶服務的生命週期相當短。 IE發出請求並收到響應,完成接收後,將其殺死。在縮短客戶服務使用壽命的過程中,性能會受到多大的影響,而不是將其彙集並保持更長的運行時間。
這個想法是爲了避免超時問題。完成接收,發送,處置儘快。按照慣例 - 不能通過客戶端服務。如果你需要的信息,創建一個新的,簡單 - 就像EF/L2S等
從WCF服務本身,如何殺死與客戶端的會話。即。我不希望客戶端會話結束 - 我知道我可以相應地修飾我的操作,但我希望服務在滿足特定條件時以程序化方式自行終止。
我可以固定端口並據此轉發以解決任何防火牆問題,但我擔心的是客戶端是否坐在負載均衡器後面。服務如何知道要調用哪個特定的服務器?
這個答案對於NetTcpBinding是正確的還是隻對雙Http綁定? – Yaniv 2013-12-09 18:06:44