繁体   English   中英

调用ASP.NET MVC控制器/视图

[英]ASP.NET MVC Controllers/Views invoked

当我调用一个控制器时,视图响应可能会调用其他控制器。 在MVC中,是否可以确定在单个响应中调用所有视图和/或控制器的方法?

谢谢。

我认为框架不会直接公开此内容,但是您可以使用OnActionExecuted方法并记录每个调用的操作以及唯一的请求标识符。 您可以连接到global.asax.cs中的Application_BeginRequest来生成一个GUID用作该请求的唯一ID(存储在Session中,但对于每个新请求均被覆盖)。 如果使用基本控制器并从中派生所有控制器,则可以将日志记录放入基本控制器的OnActionExecuted方法中以使其保持DRY状态。

或者,您可以查看创建自定义ActionInvoker并将日志记录放在此处。

无论如何,这是我将要开始的地方,也许会有更好的方法。

注意:这只会将为请求在服务器端调用的操作绑定在一起。 当客户端收到渲染视图时,任何在客户端启动的AJAX请求都将显示为不同的请求。 如果您还需要包括这些ID,则唯一的ID生成代码应该只应在非AJAX请求上运行,否则将现有ID保留在会话中。 通常,AJAX请求具有HTTP_X_Requested_With标头来区分它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM