Как правильно развернуть приложение ASP.NET в рабочей среде? - PullRequest
1 голос
/ 17 июля 2010

Ненавижу звучать глупо, но ASP.NET - не моя сильная сторона.

У меня есть приложение ASP.NET, которое я сейчас хочу развернуть на производственном сервере.Выполняя поиск в Интернете, я обнаружил, что для компиляции и установки файлов на производственных серверах рекомендуется использовать инструмент установки в VS2010.Однако я нахожу это немного странным:

  1. Файлы на сервере - это именно те файлы, которые были у меня в системе.Я бы подумал, что переход на рабочий сервер потребует некоторой компиляции и сжатия содержимого файла, чтобы улучшить выполнение.Но на практике все файлы на сервере точно такие же, как и в моей локальной системе - я даже могу изменить свой файл .cs на серверах, и это работает !!(Удивленно; -)).
  2. Исходя из вышесказанного, весь мой код легко доступен на сервере для всех желающих.Я не уверен, если это проблема ... Например, может ли это привести к угрозе безопасности (из-за паролей в файлах)?

Ответы [ 3 ]

1 голос
/ 17 июля 2010

Вы можете сделать то, что сделали, но я бы не стал рекомендовать это по причинам, которые вы упомянули.Плюс твой код на самом деле не скомпилирован!

Типичный подход состоит в том, чтобы скомпилировать приложение, затем взять dll / bin и отправить их на сервер.Базовому сайту нужен web.config, папка bin с вашими DLL и любые файлы ASPX, которые содержат разметку, любой статический контент, такой как JS / CSS / Images и т. Д. В этом случае разметку (aspx) все еще можно редактировать, ноКод CS находится внутри библиотеки DLL, и на сервере нет файлов CS.

Вы также можете предварительно скомпилировать все, что фактически изменит файлы ASPX, и вы можете узнать больше здесь: http://msdn.microsoft.com/en-us/library/ms227972.aspx

В Visual Studio 2010 есть «Опубликовать»Функция в меню Build, которая может подтолкнуть сайт для вас через FTP или Web Deploy, но это полезно только для небольших проектов.

Для большинства вещей вы захотите заглянуть в msbuild или nant для написания сценария процесса, и это может позволить вам также включить такие вещи, как JSmin или JSLint, в сборку / развертывание.

Надеюсь, это поможет.-fs

1 голос
/ 17 июля 2010

Вы создали веб-сайт или проект веб-приложения в VS2010?Если это веб-сайт, вам нужно преобразовать его в проект веб-приложения.Веб-сайты могут быть скомпилированы на лету, когда приложение запрашивается впервые.Проект веб-приложения предварительно скомпилирован, и ни один из файлов .cs не будет выгружен на ваш производственный сервер при публикации проекта.

Я знаю, что могу выполнить преобразование, щелкнув правой кнопкой мыши мои веб-проектыи выберите «Преобразовать в веб-приложение», но этот пункт меню может присутствовать из-за ReSharper (5.1) или расширения PowerCommands для Visual Studio 2010 от Microsoft.

Также проверьте файлы .aspx.У вас есть только .aspx и .aspx.cs?Или есть также файл .aspx.designer.cs?Файлы конструктора будут присутствовать только для проекта веб-приложения.Если вы их не видите, у вас есть веб-сайт, а не проект веб-приложения.

0 голосов
/ 17 июля 2010
  1. Это зависит от того, как вы делаете публикацию.http://weblogs.asp.net/owscott/archive/2009/06/06/visual-studio-2010-1-click-publishing.aspx. «Точно так же» не проблема.Вы ожидаете компиляции и сжатия "так ненормально".Почему они должны выполняться, чтобы вы чувствовали себя счастливыми, в то время как вам просто нужно развертывание?

  2. Как защитить свой код - это, очевидно, дополнительная работа, которую вы должны выполнить вручную, например настройкаNTFS разрешения и тд.Там нет ничего такого автоматического.

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