单域ASP.Net下的应用程序之间的会话共享

时间:2013-03-22 15:24:13

标签: asp.net session-state

我们使用sql server进行会话状态,这里是web.config条目:

<sessionState mode="SQLServer" allowCustomSqlDatabase="true" sqlConnectionString="data source=MyServer;Initial Catalog=MyDatabase;user id=user;password=password" cookieless="false" timeout="20" />

我们有一个自定义MVC站点和一个CMS站点,两者都是独立项目,在开发,登台和prod上,CMS站点被设置为MVC站点下的“应用程序”。 MVC站点是根。

我们的网址如下:

http://www.domina.org(prod,负载均衡,多台服务器) http://staging.domain.org(暂存,负载均衡,多台服务器) http://development.NAME-hq.local(发展)

和CMS网站网址是:

http://www.domina.org/core(prod,负载均衡,多台服务器) http://staging.domain.org/core(暂存,负载均衡,多台服务器) http://development.NAME-hq.local/core(发展)

本地开发,我的会话不共享,因为我使用内置的Web服务器,并且两个项目的端口号都不同。

我的会话未在MVC和CMS部分之间的开发站点上共享。但是,分段和生产分享会话没有任何问题。是因为我们的名称是开发站点的方式?我应该把它变成像dev.domain.com这样的东西吗?

1 个答案:

答案 0 :(得分:0)

如果您使用的是ASP.NET 2.0或更高版本,则应该可以使用 web.config中的<httpCookies httpOnlyCookies="true"/>

以下是MSDN文章http://msdn.microsoft.com/en-us/library/ms228262(v=vs.80).aspx