将ASP.NET InProc会话状态模式迁移到进程外模式:检查存储在会话对象中的所有变量是否都已序列化

时间:2019-06-12 00:16:53

标签: asp.net asp.net-mvc session session-state asp.net-session

首先,我是Web编程的新手...下面的问题可能有点荒谬和愚蠢,但是我需要回答它才能正确进行并查看我是否正确进行了操作。在发布之前,我已经在Google上搜索了很多,但是很难找到答案,所以我就结束了。

我有一个包含许多项目的ASP.NET MVC解决方案。此解决方案中的大多数项目都引用由其他解决方案中的其他项目生成的DLL,而不是引用同一解决方案中的项目。

此ASP.NET Web应用程序使用InProc会话状态模式。现在,我试图将其迁移到进程外会话状态模式(sqlserver或服务器状态)。

由于进程外的会话状态模式要求将存储在会话对象中的变量进行序列化,因此我要从Visual Studio中搜索解决方案中所有将变量存储在会话对象中的行,然后检查这些变量是否正在序列化。由于代码中的赋值形式类似于Session [“ Key”] = value,因此我正在搜索以“ Session [”(无双引号)开头的字符串。这将返回对Session对象的读/写操作,而不仅是我感兴趣的写操作。因此,我尝试搜索模式“ Session [] = *”(不带双引号)。使用通配符的同一行,但似乎无法正常工作,我的意思是,会话字符串可能在一行中,“ [”在另一行中,“]”在另一行中,依此类推...

此外,由于许多项目直接引用由另一个解决方案生成的DLL(而不是指向同一解决方案中的项目),因此我需要在另一个Visual Studio实例中一个一个地打开所有其他解决方案,以便搜索会话对象作业...

所以我的问题基本上是:

  1. 使用通配符搜索所有正则表达式的正确正则表达式是什么 会话对象分配在同一行中而不会丢失任何内容?
  2. 考虑到解决方案中的大多数项目参考 在其他解决方案中由其他项目直接生成的DLL 一次搜索所有会话对象分配并且不丢失任何内容的最佳方法是什么?

由于我的所有项目都在一个根文件夹下,因此我可以使用Notepad ++一次在所有文件中搜索会话对象分配...但是我不确定这是否是最好的方法...

0 个答案:

没有答案