Во-первых, я новичок в веб-программировании ... приведенный ниже вопрос может быть немного нелепым и глупым, но мне нужно ответить на него, чтобы действовать правильно, а также посмотреть, правильно ли я поступаю. Я много гуглил, прежде чем публиковать, но найти ответ на этот вопрос так сложно, поэтому я перестал приезжать сюда.
У меня есть решение ASP.NET MVC с большим количеством проектов. Большинство проектов в этом решении ссылаются на библиотеки DLL, которые создаются другими проектами в других решениях, а не на проекты в том же решении.
Это веб-приложение ASP.NET использует режим состояния сеанса InProc. Теперь я пытаюсь перевести его в режим состояния сеанса вне процесса (sqlserver или состояние сервера).
Так как режимы состояния сеанса вне процесса требуют, чтобы переменные, хранящиеся в объекте сеанса, были сериализованы, в Visual Studio я ищу все строки в решении, где переменные хранятся в объекте сеанса, и проверяю, используются ли эти переменные. сериализованная. Поскольку назначения в коде имеют вид, подобный Session ["Key"] = значение, я ищу строки, начинающиеся с "Session [" (без двойных кавычек). Это возвращает операцию чтения / записи на объекте Session, а не только операции записи, которые меня интересуют. Поэтому я попытался найти шаблон «Session [] = *» (без двойных кавычек), появляющийся в том же самом строка с использованием подстановочных знаков, но кажется, что она работает неправильно, я имею в виду, строка сеанса может быть в одной строке, "[" в другой, "]" в другой и так далее ...
Кроме того, поскольку многие проекты ссылаются на библиотеки DLL напрямую (вместо того, чтобы указывать на проекты в том же решении), сгенерированные другим решением, мне нужно открывать все другие решения одно за другим в другом экземпляре Visual Studio для поиска объекта сеанса. назначения ...
Итак, мои проблемы в основном:
- Какое правильное регулярное выражение использует подстановочные знаки для поиска всех
назначения объекта сеанса в одной строке, не пропуская ни одного вхождения?
- Учтено, что большинство проектов в справочном решении
DLL непосредственно генерируются другими проектами в других решениях, что
наилучший способ поиска всех назначений объекта сеанса одновременно и не пропуская ни одного вхождения?
Поскольку все мои проекты находятся в корневой папке, я мог бы использовать Notepad ++ для поиска назначений объекта сеанса во всех файлах одновременно ... но я не уверен, что это лучший способ продолжить ...