Глобальный подкласс и переопределение Application_Start - PullRequest
0 голосов
/ 18 мая 2011

У меня есть пара веб-приложений, исходный код которых отсутствует. Проект скомпилирован в dll и размещен на IIS.

У меня есть пара вопросов.

  • Каков наилучший способ воссоздать проект из файла dll ??

  • Мы планируем изменить сервер базы данных и база данных Строки подключения указаны в Global.asax (I mean the public class Global : HttpApplication). Является есть способ, которым я могу подкласс это Глобальный и переопределить соединение строки? Если да, как я могу сделать IIS ссылается на новую DLL

Спасибо всем за любые предложения !!

Ответы [ 2 ]

1 голос
/ 18 мая 2011

Для первой части используйте инструменты декомпилятора, такие как Reflector / ILSpy / dotPeek , чтобы преобразовать код IL из DLL в язык более высокого уровня, такой как C #. Однако инструменты не могут получить комментарии, имена локальных переменных и структуру проекта. Вам необходимо вручную организовать код в файлы и структуры проекта. Из файлов aspx вы должны выяснить классы code-behind и затем связать источник класса с правильным именованным файлом code-behind - например, если default.aspx говорит, что он наследует от MyApp.Default затем создайте файл default.aspx.xs и поместите в него исходный код класса.

Во второй части вы можете создать новый класс, производный от Global и изменить Global.asax для использования этого класса - вам нужно поместить сборку, содержащую новый класс, в папку bin и переписать предложение inherits в файле asax, чтобы указать на имя типа нового класса. В любом случае вам необходимо проверить код вашего текущего класса Global (используя инструменты, описанные выше), чтобы выяснить, можете ли вы переопределить строки подключения путем подкласса.

0 голосов
/ 18 мая 2011
  1. Вероятно, лучший инструмент, доступный для обратного инжиниринга dll в код, - .NET Reflector .К сожалению, последняя версия больше не является бесплатной, но она стоит денег.

  2. Я не уверен, точно ли это применимо, если вы уже можете перепроектировать свой исходный код.Тем не менее, я бы порекомендовал перенести строки подключения за пределы вашего проекта в web.config в качестве лучшей практики.Таким образом, вы можете внести изменения в будущем без изменения какого-либо кода.

...