码迷,mamicode.com
首页 > Web开发 > 详细

[转]asp.net webform 与mvc 共享session

时间:2014-09-22 17:17:32      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:blog   http   io   strong   for   数据   sp   问题   cti   

公司内部系统最早是用.net webform模式开发的,现新项目用.net mvc 开发,现存在的问题就是如何保持原有.net webform的登录状态不变,而在mvc中能够验证用户的登录状态,也就是将.net webform 中session中保存的登录状态共享给mvc。

在cnblogs中搜索相关资料,基本解决方法都是将session状态保存在数据库中,然后原有程序和新程序都获取数据库中的session状态 ,从而实现用户登录状态信息共享。

具体实现步骤如下:

1、创建session 保存的数据库

     aspnet_regsql -S 数据库实例名 -ssadd -sstype p -U 连接用户名

     详细信息可参考:http://kb.cnblogs.com/page/71816/

     如下图数据库会创建相应的Session状态存放数据库和表、存储过程等

     bubuko.com,布布扣bubuko.com,布布扣

2、在AspState数据库中找到TempGetAppID存储过程将应用程序名称设置唯一

     2.1、从下图我们可以看到当webfrom 和mvc 第一次访问数据库时提供的@aapName各不相同,正是由于这样,应用程序只能访问各自的session状态。因此只需要将

            @appName设置唯一就可以取得唯一的appId了。

         1) MVC 在数据库中获取appId

          bubuko.com,布布扣

        2)webform在数据库中获取appId

             bubuko.com,布布扣

      3)在AspState数据库中找到TempGetAppID存储过程,设置唯一的appName即可。

     bubuko.com,布布扣

  

3、设置webform 和mvc 的webconfig, 在<system.web>节点中配置session存放的数据库信息

    <sessionState mode="SQLServer" allowCustomSqlDatabase="true" sqlConnectionString="Data Source=.;Initial Catalog=ASPState;uid=sa;pwd=abc123"></sessionState>

4、设置完成,测试效果

    bubuko.com,布布扣

    bubuko.com,布布扣

[转]asp.net webform 与mvc 共享session

标签:blog   http   io   strong   for   数据   sp   问题   cti   

原文地址:http://www.cnblogs.com/feihusurfer/p/3986096.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!