我希望到达响应的HTTP / SOAP标头(请注意,响应是一个对象,而不是一个xml字符串)来自wcf服务以获取" Set-Cookie"的值。关键的回应。我尝试使用HttpResponseMessageProperty
来获取头,但它会抛出一个名为ArgumentException的异常。
在ASP.NET示例中,WebRequest
和WebResponse
运行良好但我正在尝试使用wcf服务的代理方法在C#中编写库,因此,我应该使用HttpResponseMessageProperty
。
等待你的帮助。感谢。
修改
我在下面附上了例外的截图。
答案 0 :(得分:1)
using (OperationContextScope scope = new OperationContextScope(Parameters.ClientService.InnerChannel))
{
var response = Parameters.ClientService.SearchFlight(Parameters.AuthenticationHeader, Operations.CreateSearchRequest(fsf));
var messageProperty = (HttpResponseMessageProperty)OperationContext.Current.IncomingMessageProperties[HttpResponseMessageProperty.Name];
var sessionId = messageProperty.Headers["Set-Cookie"];
FlightSearchResultDto result = Operations.CreateSearchResult(response, fsf, BaseProvider);
return result;
}
答案 1 :(得分:0)
我认为最好的方法是将该陈述包含在试用版中 ' catch语句并管理异常。