Я публиковал приложение Lightswitch с помощью Visual Studio 2012 RC для моего локального хоста (Win 7, SQL 2008 R2, IIS 7.5). Теперь я пытаюсь опубликовать на удаленном сервере (Win 2008 R2, SQL 2008 R2, IIS 7.5), и у меня возникают проблемы.
Когда я пытаюсь опубликовать, я получаю следующую ошибку:
Не удалось выполнить задачу развертывания сети. (Не удалось подключиться к удаленному компьютеру ( "###. ###. ###. ###" ) с использованием указанного процесса ( "Агент веб-развертывания Service" ), потому что сервер не ответил. Убедитесь, что процесс ( "Служба агента веб-развертывания" ) запускается на удаленном компьютере компьютер. Узнайте больше: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_COULD_NOT_CONNECT_TO_REMOTESVC.)
Я проверил каждую из вещей, которые предлагает ссылка "узнать больше". Я проверил, что MsDepSvc и WMSVC работают, а порты 80 и 8172 отвечают на сканирование портов. В настройках публикации для URL-адреса службы я использую IP-адрес (http://###.###.###.###) удаленной машины. Для имени пользователя я использую DomainName\Administrator, который я использую для входа в систему с использованием RDP.
Я разместил на Форумы MSDN, где член предложил мне отменить инструмент развертывания веб-сайтов с V2.0 на V1.1, Что я сделал, но ничего не изменил.
Следуя советам в ответе на этот SO Вопрос, я попытался запустить msdeploy
из командной строки.
Из командной строки на сервере я получаю:
C:\Program Files\IIS\Microsoft Web Deploy > msdeploy -verb: дамп -source: dirpath = c:\temp, computername = http://SeverName:80/msdeployagentservice,username=Administrator,password=XXXX-verbose -debug Verbose: использование идентификатора 'c12c3392-2290-44b7-9434-dbd0ff5f9385' для подключения к удаленному сервер. Verbose: предварительная аутентификация URL-адреса удаленного агента 'http://ServerName:80/msdeployagentservice' как "Администратор". MSDeploy.dirPath(name = MSDeploy.dirPath) c:\temp (name = dirPath) (keyAttribute = c:\temp) (linkName = Child1)
Из командной строки на машине dev я получаю:
C:\Program Files\IIS\Microsoft Web Deploy V3 > msdeploy -verb: дамп -source: dirpath = c:\temp, computername = http://###.###.###.###:80/msdeployagentservice,username=Administrator,password=XXXX -verbose -debug Информация: Использование идентификатора '7f0b7d5b-e202-424c-a7dd-246920253081' для подключения к удаленному серверу. Verbose: предварительная аутентификация URL удаленного агента 'http://###.###.###.###:80/msdeployagentservice' as "Администратор". Verbose: предварительная аутентификация URL-адреса удаленного агента 'http://###.###.###.###:80/msdeployagentservice' как "Администратор". Код ошибки: ERROR_COULD_NOT_CONNECT_TO_REMOTESVC Дополнительная информация: Не удалось подключиться к удаленному компьютеру ( "###. ###. ###. ###" ), используя ( "Служба агента веб-развертывания" ), поскольку сервер Не ответил. Убедитесь, что процесс ( "Агент веб-развертывания Сервис" ) запускается на удаленном компьютере. http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_COULD_NOT_CONNECT_TO_REMOTESVC. Узнайте больше: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_COULD_NOT_CONNECT_TO_REMOTESVC. --- > Microsoft.Web.Deployment.DeploymentException: объект типа 'dirPath' и путь 'c:\temp' не могут быть созданы. --- > System.Net.WebException: удаленный сервер ответил на ошибку: (400) Плохой запрос. в System.Net.HttpWebRequest.GetResponse() at Microsoft.Web.Deployment.AgentClientProvider.GetHttpResponse(HttpWebRequest запрос) --- Конец внутренней проверки стека исключений --- --- Конец Внутренняя трассировка стека исключений --- при Microsoft.Web.Deployment.DeploymentManager.CreateObjectPrivate(DeploymentProviderContext providerContext, DeploymentBaseOptions baseOptions, DeploymentObject sourceObject, String serverVersion) при Microsoft.Web.Deployment.DeploymentManager.CreateObject(DeploymentProviderOptions providerOptions, DeploymentBaseOptions baseOptions) при MSDeploy.MSDeploy.CreateObject(DeploymentProviderOptions providerOptions, DeploymentBaseOptions baseOptions) при MSDeploy.MSDeploy.ExecuteWorker() в MSDeploy.MSDeploy.Execute()
в MSDeploy.MSDeploy.Main(String [] unusedArgs) Число ошибок: 1.
Используя Wireshark, я обнаружил, что я вхожу в систему, но после POST /MSDEPLOYAGENTSERVICE
я получаю сообщение об ошибке 400: Bad, которое выглядит так:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">\r\n
<HTML><HEAD><TITLE>Bad Request</TITLE>\r\n
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>\r\n
<BODY><h2>Bad Request - Invalid Content Length</h2>\r\n
<hr><p>HTTP Error 400. There is an invalid content length or chunk length in the request.</p>\r\n
</BODY></HTML>\r\n
Единственное, что я мог найти, упомянутое это конкретное поведение: Статья поддержки Microsoft для ISA Server 2000.
Чего еще я должен смотреть?