Общий код, используемый несколькими приложениями ASP.Net - PullRequest
0 голосов
/ 02 декабря 2008

Сценарий:

Допустим, у меня есть четыре очень похожих приложения (т.е. большинство функций одинаковы, но они достаточно различны, чтобы оправдать каждое отдельное приложение).

Каков наилучший способ повторно использовать общий код функциональности между ними? COM +? Веб-сервисы?

В общем, я обычно просто имел бы код в отдельном проекте (dll), но в любое время, когда он обновляется, файл должен обновляться для каждого приложения ASP.Net, и я не был уверен, есть ли лучший способ идти об этом.

Спасибо!

Ответы [ 3 ]

4 голосов
/ 02 декабря 2008

Если возможно, вы можете создать решение Visual Studio с проектом DLL и несколькими проектами веб-приложений или веб-сайтов. У веб-проектов будет ссылка типа «проект» на проект DLL, и все будет создаваться одновременно. Затем вы можете использовать инструмент «Публикация» для каждого из ваших веб-проектов по мере необходимости.

2 голосов
/ 02 декабря 2008

Если все приложения находятся на одном виртуальном сервере, рассмотрите возможность размещения общей сборки в GAC. Это позволяет вам расходиться с версиями в случае необходимости и сохраняет все в том же месте, что и бонус. Недостатки: эта сборка выполняется с полным доверием, и вы должны использовать политику и CAS, чтобы гарантировать отсутствие точек повышения доверия для внешних ненадежных сборок. Вам также необходимо узнать об атрибуте [AllowPartiallyTrustedCallers].

Что касается других вариантов, COM +, немного тяжелый. Хорошо для транзакционных вещей. Веб-сервисы, которые не так хороши для сервисов с большими объемами данных, но если все сделано правильно, могут быть достаточно легко обслуживаемыми. Чем больше он разделен, тем лучше окупаемость.

1 голос
/ 02 декабря 2008

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

Таким образом, вы можете иметь один проект на любое количество решений, и ваша проблема решена;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...