Мой домашний контроллер успешно вернул index.html
из
http://localhost/
и
http://localhost/controller/
но если я попытаюсь нажать
http://localhost/controller/method/
Я получаю 404
, хотя этот метод отлично работает в IIS Express.
Не удалось найти что-либо в Интернете, если у кого-то возникла похожая проблема, когда только методы на контроллере не работали в одном конкретном развертывании, но сам контроллер в порядке.
Вещи, которые я пробовал, которые были распространены среди многих проблем .Net Core 2.0 с IIS Deployments:
Убедитесь, что проверка подлинности Windows включена в настройках проекта и в IIS (я включал и выключал ее безрезультатно, так как у меня нет аутентификации пользователя в моем веб-приложении, поэтому я не думаю, что это имеет значение для меня).
Переключен мой пул приложений для использования No managed code
для CLR
версии
Измените идентификатор пула приложений на LocalSystem
Измените разрешения для моей выходной папки публикации, чтобы включить %hostname%\IIS_IUSRS
Уверен, я также пробовал много других базовых проблем, которые иногда решают проблемы. И.Е. удаление и чтение приложения. Включение и выключение снова безрезультатно.
Любые предложения по устранению неполадок приветствуются.
Я также хочу заметить, что он работал вчера и не могу вспомнить, чтобы что-то изменилось, кроме выходных данных публикации, чтобы использовать Debug
вместо Release
, что, конечно, теперь я вернул обратно к Release
, но все же не повезло.
Вот код
public class MyController : Controller
{
public IActionResult Index()
{
return View();
}
[HttpPost]
public void Store([FromBody]MyObject obj)
{
Console.WriteLine(Request.Body);
//Some code
}
[HttpGet]
public void Check(string objectUID, string idfv)
{
Console.WriteLine($"ObjectUID: {objectUID}");
Console.WriteLine($"IDFV: {idfv}");
//some other code
}
[HttpGet]
public MyObject Retrieve(string objectUID)
{
Console.Writeline($"ObjectUID: {objectUID}");
//Some Code
}
}
Это мой маршрут.
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=MyController}/{action=Index}/{id?}");
});