【发布时间】:2019-12-11 06:08:20
【问题描述】:
我有一个 ASP.NET CORE WebApi 项目,它有一个基控制器类,它覆盖 OnActionExecuting 方法来执行工作(什么工作对这篇文章无关紧要)。
OnActionExecuting 方法在我在本地运行时触发(VS Pro 2017 - localhost - IIS Express),但在我将具有相同代码的构建发布到服务器环境时无法触发(Windows Server 2016 Standard - IIS 10.0.14393.0 )。
任何想法为什么 OnActionExecuting 方法在 localhost 上被调用但无法在运行 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...
}
}
【问题讨论】:
-
这很奇怪。你能在本地 IIS 中托管并调试它吗?
-
这篇文章可能有用:andrewlock.net/…
标签: c# asp.net-core .net-core asp.net-core-webapi