Для веб-приложений ASP.NET обычно каждое из них находится в своем собственном виртуальном каталоге, который служит отправной точкой приложения.
Технически, вы могли бы "привязать" два приложения к одной и той же начальной точке приложения одним из двух способов:
- Поместите все файлы для каждого приложения в один и тот же каталог (и соответствующие подкаталоги)
Если у вас нет ЛЮБЫХ файлов, которые перекрываются, вы можете обойтись без этого. Конечно, вполне вероятно, что вы не будете использовать такие файлы, как страницы по умолчанию или индексные страницы и т. Д. И это все равно будет довольно грязно.
- Поместите все недвоичные файлы для каждого приложения в соответствующий подкаталог, а двоичные файлы - в главный виртуальный каталог \ bin.
Вы сможете сделать это только в том случае, если двоичные файлы каждого приложения не перекрываются по имени И нет конфликтов неоднозначности пространства имен между сборками (две разные сборки по имени файла, но с одним и тем же пространством имен). Последнее менее вероятно, если вы попытаетесь соединить два разных приложения.
Большая проблема, которую я вижу в последнем решении, заключается в том, что любые части приложения, использующие корневые ссылки приложения, будут повреждены. Когда некоторый код пытается разрешить ссылку на некоторый ресурс (например, изображение) на основе корневой ссылки приложения, такой как
~/images/logo.gif
~ преобразуется в виртуальный каталог, но не включает в себя дополнительный подкаталог (не виртуальная и не начальная точка приложения), в котором находится приложение. Так что вместо этого:
/vd1/app1/images/logo.gif
в итоге вы получите:
/vd1/images/logo.gif
Очевидно, это не сработает.
Итак ... вы не сломаете ни одно из приложений, если сможете поместить их в один и тот же виртуальный каталог, однако вам придется проверять конфликты файлов и тому подобное. Возможные конфликты пространства имен будут неизбежны без отдельных начальных точек приложения.