use*_*010 4 asp.net session wcf jquery
是否可以使用SessionID从WCF服务访问Asp.net会话变量.
我的服务是从jQuery调用的,我的想法是使用jQuery将sessionID解析为服务,然后设置所需的变量,但我找不到这样做的方法.
这是我的jQuery调用
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: baseURL,
data: JSON.stringify(data),
dataType: "json",
success: function (data) {
Run Code Online (Sandbox Code Playgroud)
有谁知道它是否可能或建议另一种方式设置会话相关变量?
来自浏览器的jQuery请求已经包含会话cookie,因此如果您在ASP.NET兼容模式下运行WCF服务,它已经可以直接访问当前HttpContext,这意味着您可以从那里访问会话状态.以下是如何在WCF服务上启用此集成的方法:
首先,将以下属性添加到服务类:
[AspNetCompatibilityRequirements(RequirementsMode=AspNetCompatibilityRequirementsMode.Allowed)]
Run Code Online (Sandbox Code Playgroud)
接下来,将以下内容添加到您的服务.config:
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
<!-- whatever else you already have -->
</system.serviceModel>`
Run Code Online (Sandbox Code Playgroud)
执行此操作后,您可以访问当前HttpContext以获取会话状态,如下所示:
public void MyServiceOperation()
{
string myStoredValue = HttpContext.Current.Session["MyStoredValue"];
// whatever
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4975 次 |
| 最近记录: |