2013-08-12 4 views
0

У меня есть сценарий, который я никогда не сталкивался и как таковой нуждаюсь в помощи. Я создал веб-приложение Visual Studio. Решение состоит из двух частей.Несколько проектов VS в одном решении

  1. проект, который содержит все UIs и
  2. модели, которая содержит мои C# код.

Целью было достижение трехуровневой архитектуры. Модель представляет собой средний уровень. Проект работает, и все потрясающе. ТЕПЕРЬ! Это моя ситуация, и у меня нет идеи о том, как подойти к ней. Я должен создать другое приложение, которое в основном является расширением первого. Итак, как я начал это, нужно добавить еще один WEB-проект в мое решение. Это имело много проблем. Когда я развожу проект, две веб-страницы будут загружаться (по одному от каждого проекта). То, что я хочу, является ОДНОЙ веб-страницей для загрузки и базы на вашем userId, он отправит вас в соответствующее место. То, что я также видел, было вторым веб-проектом, в который я добавил, что это его собственные пользователи. Как это должно быть ... один набор пользователей, каждый из которых имеет определенный доступ к приложению (который когда-либо входит в состав). Это может показаться немного запутанным, так что голый со мной немного. Если вы не понимаете, пожалуйста, не стесняйтесь спрашивать/комментировать, и я постараюсь изо всех сил помочь. Мне нужно знать, как это сделать.

То, что я хочу, чтобы отладить 1 решение2 части/проекты). Основываясь на пользователе, он имеет доступ к определенному проекту, но есть один список пользователей, который управляет всем решением, а не двумя списками, по одному для каждого проекта.

+0

Примечание **, когда я говорю разворачивать выше .. значит DEBUG. Извините за любую путаницу. –

+0

Ну, вы можете отключить запуск всех веб-сайтов, щелкнув по проекту, а затем перейдите на вкладку свойств (не щелкайте правой кнопкой мыши и не выбирайте свойства, так как это вызывает страницу свойств), а затем установите параметр «Всегда начинать, когда отладка в False», но это не совсем то, что вам нужно. Это просто решение побочного эффекта нескольких сайтов, начиная с того момента, когда вы только хотите отлаживать его. –

+0

Также обратите внимание, что вы не создали трехуровневую архитектуру, вы создали 3 LAYER-архитектуру. Уровни относятся к физическим разностям. Например, SQL Server является уровнем данных. WCF будет уровнем или другим уровнем веб-сервиса. Простое размещение кода в отдельном проекте не является автоматически новым уровнем. Tier * способен * работать на отдельной машине, хотя это не обязательно (например, сервер sql может работать на той же машине, что и приложение, но это все еще отдельный уровень). –

ответ

0

Есть ли проблема просто добавлять страницы в каталог в существующем веб-проекте? Обычно отдельные проекты будут развернуты как отдельные приложения, а не объединены в одно приложение. Вы можете контролировать доступ с помощью файлов web.config в «защищенных» каталогах

Еще одно архитектурное предложение - создать основной веб-проект, который был своего рода оболочкой, если эти приложения достаточно обширны и функционально несходны, чтобы оправдать отдельные проекты , Это будет логическая логика маршрутизации и обеспечит простые каталоги-заглушки для ваших путей (пользовательский тип 1 ... пользовательский тип n). Затем вы можете создать проект для каждого из ваших конечных путей и установить некоторые действия по сборке, которые принимают выходные данные субпроектов и копируют их в выходные каталоги для проекта оболочки, но это становится довольно сложным.

Я бы по-прежнему рекомендовал сохранить это как отдельный проект, если он будет развернут как одно веб-приложение.

+0

Причина, по которой я пробовал отдельные проекты, заключается в том, что он большой. Таким образом, создав папку в текущем проекте, добавьте более 100 страниц в существующее приложение (которое само по себе содержит более 100 страниц). Я не знаю, был ли мой мыслительный процесс верным, но я думал, что им в отдельном проекте было бы легче. –

+0

@ DineshPersaud Без некоторых действий по созданию, которые в конечном счете объединяют проекты в один, это было бы очень сложно отлаживать локально как отдельные проекты. Я обновлю свой ответ на другой вариант. – randcd

+0

.. и нет способа как-то отлаживать решение вместо отдельных проектов? –

0

Хотя эту работу можно сделать как две отдельные системы, на самом деле это намного больше головной боли, чем в большинстве случаев.

Вопрос, который вы должны задать себе, действительно ли это стоит того? Что вы получаете от этого?

В этой статье объясняется, как это сделать:

http://support.microsoft.com/kb/307467

Другой вариант заключается в создании суб-сайтов, который является, чтобы добавить еще один проект, как ребенок.Это описано здесь:

http://abhighag.blogspot.com/2012/03/separate-web-application-into-multiple.html

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