Я развернул веб-приложение LightSwitch 2013 на своем локальном веб-сервере с помощью инструмента публикации в Visual Studio. Сайт работает отлично, без проблем. Я могу загружать записи с внешнего SQL Server.
Когда я развертываю тот же опубликованный пакет на нашем веб-сервере UAT, появляется сообщение об ошибке, в котором отображаются записи данных, которые гласят: «Запрос не выполнен с кодом состояния «400» и текстом состояния «Неверный запрос». Я включил трассировку Failed Request для приложения и нашел 2 лога. Вот журналы трассировки:
Url -> http://uatwebsrvr:80/LSApp/ApplicationData.svc/$metadata
App Pool -> LSAppPoolv4.0
Authentication -> anonymous
User from token -> NT AUTHORITY\IUSR
Activity ID -> {00000000-0000-0000-D000-0080000000EE}
Site -> 1
Process -> 3448
Failure Reason -> STATUS_CODE
Trigger Status -> 400
Final Status -> 400
Time Taken -> 0 msec
Второй журнал идентичен этому журналу, за исключением используемой службы.
Я сравнил конфигурации IIS на сервере UAT и моем сервере Dev. Единственные отличия, которые я смог найти, это отсутствие некоторых сборок на сервере UAT. Но я действительно не думаю, что это проблема. Отсутствующие сборки - это 3:
*Microsoft.VisualStudio.Web.PageInspector.Loader, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Web.WebPages.Deployment, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Web.WebPages.Deployment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35*
Пулы приложений имеют идентичные конфигурации.
Еще одна вещь. Я создал очень простое приложение Lightswitch для отображения некоторых записей базы данных для проверки соединения с базой данных. Я развернул это на веб-сервере UAT, и это приложение отлично работает. Это приложение использует ту же базу данных, что и мое настоящее приложение.