asp.net - WCF 和 ASP.NET session 共享

标签 asp.net ajax wcf client-server

这是我的案例,我正在为可扩展的应用程序开发基础设施。 我正在创建一个简单的 ASP.NET 客户端页面,该页面通过 AJAX 调用使用 WCF 服务(简单的 xmlhttp 对象而不是 .net 脚本管理器)。 我需要 2 个来共享 session ,因此我指示 ASP.NET 客户端应用程序使用 aspnet_regsql.exe 工具将 session 存储在 SQL 中。

我已检查 WCF 服务是否正在接收 ASP.NET 客户端生成的相同 session ID,但在服务中 session key 容器为空。

我的印象是它可能与配置中的应用程序名称有关,但我真的不知道......

有什么方向吗?

最佳答案

如果您必须与 WCF 服务共享 ASP.NET session ,则需要查看 WCF Services and ASP.NET在 MSDN 上了解如何启用 WCF ASP.NET 兼容模式。

大多数情况下,它可以归结为:

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

在 WCF 服务的服务端配置中。另外,您必须确保您的 WCF 服务实现不会显式拒绝 ASP.NET 兼容模式。

因此您的 WCF 服务类必须允许甚至要求 ASP.NET 兼容性:

[AspNetCompatibilityRequirements(
       RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class YourService : IYourService

[AspNetCompatibilityRequirements(
       RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class YourService : IYourService

关于asp.net - WCF 和 ASP.NET session 共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7784122/

相关文章:

javascript - 使用 Javascript 进行部分回发

javascript - Cherrypy - 接收 JSON 数据 404、 'Missing parameters'

c# - WCF SOAP 服务不能返回 JSON 作为输出吗?

c# - 用于监视目录中文件更改的 WCF 服务

java - 一个应用程序,AppEngine 上的多个域

c# - ASP.NET Core 2.0 IAuthorizationService 和过期的承载 token

asp.net - jqTouch 与 ASP.NET Webforms

javascript - Jquery 将新数据附加到旧数据有重复问题

wcf - 在 WCF 服务上调用 Close() 之前,我是否应该检查是否已经关闭?

c# - 使用 BuildManager.CreateInstanceFromVirtualPath 创建页面时,PageAsyncTasks 不会等待完成