Позвольте мне просто повторить проблему, описанную @Steg
. У меня была аналогичная проблема с вашей. Я выполняю запрос ajax, который имеет 2 возможных ответа: один, который перенаправляет браузер на новую страницу и заменяет существующую HTML-форму на текущей странице новым.
blockquote>ИМХО это является реальной проблемой и должен быть официально распространен на существующие HTTP-стандарты.
Я считаю, что новым стандартом Http будет использоваться новый код состояния. значение: в настоящее время
301/302
сообщает браузеру перейти и получить содержимое этого запроса к новомуlocation
.В расширенном стандарте он скажет, что если ответ
status: 308
(просто пример), браузер должен перенаправить главную страницу на предоставленнуюlocation
.Это сказано; Я склонен уже имитировать это поведение future , и поэтому, когда необходим document.redirect, я отвечаю на сервер как:
status: 204 No Content x-status: 308 Document Redirect x-location: /login.html
Когда JS получает "
status: 204
", он проверяет существование заголовкаx-status: 308
и делает document.redirect на странице, представленной в заголовкеlocation
.Это имеет для вас какое-то значение?
Любые блоки, которые, как ожидают, будут в GAC, должны остаться в GAC. Это включает System.web.dll или любую другую третью сторону dll, что Вы развернетесь к GAC в производстве. Это означает, что новый разработчик должен был бы установить эти блоки.
Все другие сторонние блоки должны быть ссылками через относительный путь. Моя типичная структура:
-Project
--Project.sln
--References
---StructureMap.dll
---NUnit.dll
---System.Web.Mvc.dll
--Project.Web
---Project.Web.Proj
---Project.Web.Proj files
--Project
---Project.Proj
---Project.Proj files
Проект. Сеть и Ссылка проекта блоки в папке корня/Ссылок относительно. Эти .dlls проверяются в подрывную деятельность.
Кроме этого, */bin */bin /* obj должен быть в Вашем глобальном, игнорируют путь.
С этой установкой, все ссылки на блоки любой через GAC (так должен работать через все компьютеры), или относительно каждого проекта в Вашем решении.
Знаток помогает довольно много с этой проблемой, когда я кодирую Java. Мы передаем pom.xml scs, и репозиторий знатока содержит все наши зависимости. Для меня, который походит на хороший способ сделать это.
Действительно ли это-.Net конкретный вопрос?
Обычно лучшая практика не должна регистрироваться ни в чем, что создается автоматически из файлов, которые уже находятся в SCM. Все это идеально создается как часть Вашего автоматического процесса сборки.
, Если bin
каталог Вы обращаетесь к, содержит сторонние двоичные файлы, а не сборку Вашего проекта, проигнорируйте (downvote?) этот совет.
Мы применяем практику использования каталога поставщика, который содержит всего поставщика определенные заголовки и двоичные файлы. Цель состоит в том, что кто-либо должен быть в состоянии создать продукт только путем проверки его и выполнения некоторого высокоуровневого сценария сборки.
Древовидный Хирург является большим инструментом, который создает пустое дерево разработки.NET. Это настроили за годы использования и реализует много лучших практик.