2010-09-15 60 views
0

是否可以读取wcf服务的OperationContract中的cookie?我正在尝试阅读契约方法中的cookie值,但它始终为空。如果我从.aspx页面读取同一个cookie,则该值存在。有任何想法吗?wcf服务中的Cookie OperationContract

+0

代码,请。当你不显示你在做什么时,很难知道你做错了什么。 – 2010-09-15 18:17:54

回答

1

你是如何托管他们? WCF旨在保持与主机无关 - 即在IIS之外托管时,您的服务仍应能正常工作。然而,有一个了兼容性模式,可以帮助你:

<system.serviceModel> 
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/> 
</system.serviceModel> 

的默认值是假的,并禁止像HttpContext.Current大多数ASP.NET功能。

1

BasicHttpBinding.AllowCookies Property可能会修复此问题,正如在Enrico的博客文章Managing shared cookies in WCF(标记为here)开头所述。岗位包括web.config中的片段:

<system.ServiceModel> 
    <bindings> 
     <basicHttpBinding allowCookies="true"> 
    </bindings> 
    <client> 
     <endpoint address="http://localhost/myservice" 
        binding="basicHttpBinding" 
        contract="IMyService" /> 
    </client> 
</system.ServiceModel> 

但使用它(博客文章有使用同样的Cookie与不同的网络服务更复杂的解决方案代码)无代码片段。

========编辑==========

或者甚至allowCookies=false