asp.net – 访问在DelegatingHandler中执行的当前控制器
发布时间:2020-05-24 13:02:18 所属栏目:asp.Net 来源:互联网
导读:我想知道是否可以在DelegatingHandler的SendAsync方法中访问正在执行(或即将执行)的控制器?我似乎无法弄清楚如何访问它,我认为这是因为它在控制器执行之外执行… 可以参考吗? 不,因为消息处理程序在原始HttpRequestMessage或原始HttpResponseMessage上运行(
|
我想知道是否可以在DelegatingHandler的SendAsync方法中访问正在执行(或即将执行)的控制器?我似乎无法弄清楚如何访问它,我认为这是因为它在控制器执行之外执行… 可以参考吗? 解决方法不,因为消息处理程序在原始HttpRequestMessage或原始HttpResponseMessage上运行(在连续的情况下).实际上,没有使用DelegatingHandlers“当前控制器执行”的概念,因为在控制器返回响应之后,在将请求发送到控制器之前或者(再次,在连续的情况下)将调用消息处理程序.但是,这实际上取决于你要做的事情. 如果您想知道请求最终将被路由到哪个控制器,您可以手动调用将在内部选择控制器的机制. public class MyHandler : DelegatingHandler
{
protected override System.Threading.Tasks.Task<HttpResponseMessage> SendAsync(HttpRequestMessage request,System.Threading.CancellationToken cancellationToken)
{
var config = GlobalConfiguration.Configuration;
var controllerSelector = new DefaultHttpControllerSelector(config);
// descriptor here will contain information about the controller to which the request will be routed. If it's null (i.e. controller not found),it will throw an exception
var descriptor = controllerSelector.SelectController(request);
// continue
return base.SendAsync(request,cancellationToken);
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 使用Asp.net Web API时,使用DataContract和DataMember属性有
- asp.net-mvc – 不应加载引用程序集以执行
- asp.net – compilation debug =“true”和发布模式“relea
- 一些.net中应该知道的问题
- asp.net-mvc – ViewBag在RedirectToAction之后为NULL(View
- asp.net-mvc-2 – JavaScriptSerializer没有正确反序列化Da
- asp.net – ObjectCache的“Set”和“Add”有什么区别?
- ASP.NET 5 OAuth承载令牌认证
- asp.net-web-api – 使用WebAPI和RavenDB进行基本会话处理
- asp.net-mvc – 使用自己的HtmlHelper扩展名用于模型绑定的
推荐文章
站长推荐
- asp.net-mvc – Jquery AJAX成功没有被Coded UI测
- asp.net – system.web.compilation.debug与syst
- asp.net – 无法访问IIS元数据库
- asp.net-mvc – asp.net mvc输入/模型验证多语言
- ASP.NET中上传并读取Excel文件数据示例
- asp.net – 在双列表框中移动项目
- asp.net-mvc – Web API的压缩过滤器
- asp.net-mvc – 将viewdata传递给asp.net mvc ma
- asp.net-mvc – 实体创建抛出“没有为此对象定义
- asp.net-mvc-3 – Razor webgrid ajax分页和排序
热点阅读
