在尝试达到" Set-Cookie"的价值时获得例外。 C#中的关键

时间:2015-02-23 14:36:59

标签: c# web-services wcf session setcookie

我希望到达响应的HTTP / SOAP标头(请注意,响应是一个对象,而不是一个xml字符串)来自wcf服务以获取" Set-Cookie"的值。关键的回应。我尝试使用HttpResponseMessageProperty来获取头,但它会抛出一个名为ArgumentException的异常。

在ASP.NET示例中,WebRequestWebResponse运行良好但我正在尝试使用wcf服务的代理方法在C#中编写库,因此,我应该使用HttpResponseMessageProperty

等待你的帮助。感谢。

修改

我在下面附上了例外的截图。

enter image description here

2 个答案:

答案 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语句并管理异常。