我對我的WCF服務使用basicHttpBinding,並且有一個消息檢查器在某些情況下將響應代碼設置爲重定向。我發現WCF代理(由svcutil生成)自動嘗試遵循重定向。我如何防止這種情況發生?如何防止WCF代理跟隨重定向?
感謝, 普里亞
我對我的WCF服務使用basicHttpBinding,並且有一個消息檢查器在某些情況下將響應代碼設置爲重定向。我發現WCF代理(由svcutil生成)自動嘗試遵循重定向。我如何防止這種情況發生?如何防止WCF代理跟隨重定向?
感謝, 普里亞
可以從您的客戶端應用程序中引用的服務合同大會?如果是這樣,你可以擺脫生成的服務引用,並使用ChannelFactory在運行時啓動代理。
例如:
// Create service proxy on the fly
var factory = new ChannelFactory<IMyServiceContract>("NameOfMyClientEndpointInConfigFile");
var proxy = factory.CreateChannel();
// Create data contract
var requestDataContract = new MyRequestType();
// Call service operation.
MyResponseType responseDataContract = proxy.MyServiceOperation(requestDataContract);
在上面的例子中,IMyServiceContract
是您的服務合同,並0和MyResponseType
是數據的合同,您可以通過引用該服務還引用(它定義了組件使用這些類型)。
你試圖用重定向實現什麼?您將在客戶端使用一些消息攔截器處理這種情況: http://msdn.microsoft.com/en-us/library/ms733786(v=vs.90).aspx