簡體   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