Zakładam, że masz aplikację A, aplikację B, aplikację C itd., Które są dokładnie takie same, z tym, że różnią się niektórymi właściwościami konfiguracji zdefiniowanymi w ich plikach web.config.
Oczywiście jest to możliwe - najłatwiejszym sposobem jest skonfigurowanie projektu jako aplikacji internetowej, a następnie skompilowanie, a następnie udostępnienie tej biblioteki DLL między aplikacjami. Możesz użyć GAC, jeśli chcesz.
Możesz skonfigurować pojedyncze witryny w IIS, które wskazują katalog współdzielony (lub użyj katalogu wirtualnego w każdym), w którym znajduje się cała logika, ale nie możesz udostępnić folderu app_code.
EDIT
RichardOD ma najlepszą odpowiedź powyżej, i wprowadziły coś podobnego wcześniej. Zasadniczo skonfigurowałem niestandardowy plik konfiguracyjny, który jest odniesieniem przez web.config (aby zapobiec ponownemu uruchamianiu aplikacji po wprowadzeniu w niej zmian). Ten plik jest odczytywany na podstawie nazwy hosta i zawiera określone właściwości dla każdego hosta.
Wszystko co mogę zrobić, to dodać nagłówki hosta do IIS i wpis dla tego hosta w niestandardowym pliku konfiguracyjnym. Gotowe.
Jaka jest różnica między dwoma plikami .config? Być może związane z uwierzytelnianiem i autoryzacją? Zwykle można znaleźć inne sposoby radzenia sobie z takimi problemami (np. Udostępnianie strony internetowej i strony intranetowej, która nimi zarządza). –
Jedyna różnica to niektóre ustawienia aplikacji. Byłem ciekawy, czy mogę to zrobić bez zmiany kodu. –
@ Jakob- Można to zrobić z ustawieniami aplikacji, dodając przedrostek pewnego rodzaju klucza specyficznego dla aplikacji, ale wymagałoby to zmiany kodu. – RichardOD