3

我正在为我的 WCF 服务使用 basicHttpBinding,并且有一个消息检查器,可以在某些情况下将响应代码设置为 Redirect。我发现 WCF 代理(由 svcutil 生成)自动尝试遵循重定向。我该如何防止这种情况发生?

谢谢,普里亚

4

2 回答 2

0

您尝试通过重定向实现什么?您将在客户端使用一些消息拦截器来处理这种情况:http: //msdn.microsoft.com/en-us/library/ms733786 (v=vs.90).aspx

于 2012-04-16T18:49:21.287 回答
0

您可以从您的客户端应用程序中引用服务合同程序集吗?如果是这样,您可以摆脱生成的服务引用,只需在运行时使用 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是您的服务合同,MyRequestType并且 MyResponseType是您的数据合同,您可以通过引用服务也引用的程序集(定义这些类型)来使用它。

于 2012-04-16T10:47:08.680 回答