2012-03-30 3 views
1

У меня есть веб-приложение, содержащее кучу классов в папке App_Code. Я компилирую проект и публикую его на сервере IIS.ASP.NET - Share code

Я хочу поделиться некоторыми из кода в папке app_code с другим приложением на сервере, и поэтому я думаю, что мне нужно зарегистрировать сборку в GAC.

Каков наилучший способ для этого? Я прочитал эту статью: http://msdn.microsoft.com/en-us/library/Aa479044, что предлагает несколько вариантов?

ответ

0

Решение для меня заключалось в том, чтобы предоставить общую функциональность в веб-службе.

1

Вам нужно будет переместить код в отдельный проект, который выведет библиотеку.

Если у вас есть ссылки на DLL, связанные с ASP .Net или сетью в целом, вы можете ссылаться на них из этой библиотеки.

Код не может быть скомпилирован в первую очередь, но вы можете его реорганизовать, это действительно зависит от того, насколько тесно с тем, что находится в App_Code.

Затем вы можете ссылаться на эту библиотеку на веб-сайте (вам также придется реорганизовать здесь некоторые вещи). Библиотека, однажды подписанная, также может быть добавлена ​​в GAC.

+0

Что вы подразумеваете под рефактором? – w0051977

+0

Возможно, потребуется переписать код. Например, при переходе из App_Code в библиотеку эта библиотека будет иметь новое пространство имен. Это пространство имен необходимо импортировать в ваши файлы. –

+0

Я вижу. Как временное решение; есть ли способ зарегистрировать библиотеки DLL, созданные при создании веб-приложения ASP.NET? – w0051977

2

Поместите код в библиотеку классов и добавьте библиотеку в качестве ссылки на проект для обоих приложений.

Side Примечание:

Если вам необходимо получить доступ к запрос или ответ, и т.д. импортировать библиотеку Sysyem.Web и использовать объект HttpContext. Это даст вам больше всего, если не всю информацию, доступную на странице.

Смежные вопросы