这是在AuthorizationFilterAttribute类中完成的:
var service = actionContext.Request.GetDependencyScope().GetService(typeof(IOurService);
VS
var requstScope = actionContext.ControllerContext.Request.GetDependencyScope();
var service = (IOurService)requstScope.GetService(typeof(IOurService));
具体差异及其副作用是什么?
提示:actionContext.ControllerContext.Request vs actionContext.Request
答案 0 :(得分:0)
如果您反编译HttpActionContext
,您会看到Request
属性的实现方式如下:
public HttpRequestMessage Request
{
get
{
if (this._controllerContext == null)
{
return null;
}
return this._controllerContext.Request;
}
}
因此,您的两个代码完全等效。