У меня есть проект ASP.NET CORE WebApi, у которого есть базовый класс контроллера, который переопределяет метод OnActionExecuting для выполнения работы (какая работа не имеет значения для этого поста).
Метод OnActionExecuting срабатывает, когда я работаю локально (VS Pro 2017 - localhost - IIS Express), но не запускается, когда я публикую сборку с тем же кодом в серверной среде (Windows Server 2016 Standard - IIS10.0.14393.0).
Есть идеи, почему метод OnActionExecuting вызывается на локальном хосте, но не запускается на удаленном хосте с IIS?
Вот код:
public abstract class BaseController : Controller
{
public override void OnActionExecuting(ActionExecutingContext actionExecutingContext)
{
//This method fires on localhost but not on remote server (IIS)
//call into base method
base.OnActionExecuting(actionExecutingContext);
//validate http context exists
if (HttpContext == null)
throw new Exception("The HttpContext should not be null.");
//do other work...
}
}