Может ли служба Windows и сайт IIS использовать одни и те же библиотеки DLL? - PullRequest
0 голосов
/ 16 июля 2010

Может ли служба Windows и сайт IIS совместно использовать одни и те же библиотеки DLL?

И, возможно, конфигурация (web.config)?

Ответы [ 3 ]

2 голосов
/ 16 июля 2010

Конфиг файл, точно нет.

DLL, конечно, вы можете написать DLL один раз и сделать так, чтобы оба они вызывали ее - я предполагаю, что под сайтом IIS вы имеете в виду некоторый код на стороне сервера, такой как ASP.NET - но я обычно копирую DLLв места, где каждый из них ожидает найти свои зависимости, а не возиться с PATH и т. д.

0 голосов
/ 16 июля 2010

Что вы подразумеваете под долей? Они, безусловно, могут ссылаться на одни и те же сборки. Если сборки находятся в GAC, было бы хорошо. Обычно, если вы не помещаете материал в GAC, библиотеки DLL будут жить в папках bin для каждого проекта. Если вы не находитесь в GAC, чаще всего ваш проект развертывания или настройки просто разместит их в соответствующих местах, даже если имеется более одной копии файла. Дублирование не имеет значения, тем более что код такой же.

Вы не хотели бы пытаться поделиться файлами конфигурации. По умолчанию на веб-сайте будет указан файл web.config, а для вашей службы - [имя вашей службы] .exe.config. Да, вы можете технически загружать конфигурацию динамически для одного или другого, но они, скорее всего, будут другими. В файле web.config будут все виды дополнительной конфигурации для ASP.NET, которая не понадобится службе.

Если вы хотите поделиться некоторой информацией о конфигурации, я бы рекомендовал сохранить 2 исходные конфигурации и попросить их сослаться на 3-ю конфигурацию, которая будет содержать общие настройки конфигурации. В каждом из приложений вы будете искать это местоположение конфигурации из их собственных файлов конфигурации и динамически загружать 3-е.

0 голосов
/ 16 июля 2010

Да, в основном доля DLL, которые находятся в GAC

...