gpt4 book ai didi

wcf - 从 WCF Web 服务访问 HttpContext.Current

转载 作者:行者123 更新时间:2023-12-03 09:14:54 25 4
gpt4 key购买 nike

我刚开始使用带有 ASP.NET AJAX 的 WCF 服务。我从 Javascript 实例化我的 WCF 服务,然后将字符串变量作为参数传递给我的 WCF 服务方法(使用 OperationContract 签名)。然后我返回一个绑定(bind)到我的自定义 Javascript 类的 .NET 对象(使用 DataContract 定义)。我无法根据登录到我的网络 session 的用户进行身份验证。但是,WCF Web 服务是完全不同的服务,没有 HttpContext.Current 对象的上下文。访问该对象的最安全方法是什么?

最佳答案

您可以访问HttpContext.Current通过启用 AspNetCompatibility,最好通过配置:

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

这反过来又允许您访问当前用户: HttpContext.Current.User - 这就是你所追求的,对吧?

您甚至可以通过使用附加属性装饰您的服务类来强制执行 AspNetCompatibility:
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]

(在 System.ServiceModel.Activation 命名空间中。)
如果该属性已到位,除非启用 AspNetCompatibility,否则您的服务将无法启动!

关于wcf - 从 WCF Web 服务访问 HttpContext.Current,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5904313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com