c # .net Restful API работает на отладке / выпуске, но не на IIS - PullRequest
0 голосов
/ 16 ноября 2018

Я создаю успокоительное приложение API в c # .net.Когда я компилирую свое приложение в режиме отладки или выпуска через iisexpress.Работает как положено.Я могу использовать fiddler и передать соответствующие аргументы в «GET», такие как учетные данные пользователя, и он подключится и получит ответ 200 (http://localhost:49917/v2/Carriers). Когда я опубликую свое приложение и разверну его в IIS (http://api.test1.net/v2/Carriers). IIS - это тот же компьютер, на котором я компилирую свое приложение. Затем я использую fiddler и передаю необходимый аргумент, получая ответ 503. Я не уверен, почему не работает. Мои пулы приложений имеют следующий параметр: .NetВерсия CLR: v4.0 Управляемый конвейерный режим: Интегрированная идентификация: LocalService (я также пробовал ApplicationPoolIdentity)

Когда я публикую свое приложение, я использую следующий метод публикации: «Файловая система».

Я добавил IP-адрес и имя хоста в файл Host (windows / system32 / drivers / etc /). Я не уверен, почему он не работает.

Что отличает Visual Studio в режиме отладки / выпускаработать как ожидается от опубликованной версии?

1 Ответ

0 голосов
/ 18 ноября 2018

Я хотел, чтобы вы, ребята, знали, что я сделал то, что вы, ребята, порекомендовали, и я придумаю ответ.Мне нужно добавить нового пользователя в базу данных SQL Server.

"Доступ к базе данных в IIS APPPOOL \ ASP.NET v4.0 Поскольку мы используем пул приложений ASP.NET v4.0, убедитесь, что IIS APPPOOL \ ASP.NET v4.0 добавлен на сервер базы данных ->Безопасность -> Логины. "

После того, как я добавил этого нового пользователя" IIS APPPOOL \ api.test1.net ", запрос на получение API с fiddler работает, как и ожидалось, с ответом 200."api.test1.net" - это имя моего пула приложений в IIS.

Спасибо за все ваши рекомендации.

...