簡體   English   中英

REST API 不會觸發 DelegatingHandler,只有 swagger 會觸發

[英]REST API doesn't trigger DelegatingHandler, only swagger does

我需要在我的 c# API 中記錄請求和響應,我嘗試使用 DelegatingHandler class 方法。

我還在 API 上運行了 swashbuckle/swagger。 該處理程序似乎工作正常,但它只觸發和記錄 swagger 調用。 當我調用任何 API 函數時,它不會觸發。 訪問位於服務器文件夾中的圖像時,它甚至不會觸發。 但如果路徑與 swagger 相關,它將始終觸發。

public static void Register(HttpConfiguration config)
    {
        config.MessageHandlers.Add(new MessageLoggingHandler());
        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "{controller}/{id}",
            defaults: new { id = RouteParameter.Optional },
            constraints: null,
            handler: new MessageLoggingHandler()
        );
        config.MapHttpAttributeRoutes();
       }

這就是我到目前為止所得到的。 有什么線索嗎?

我認為它不適用於訪問文件,因為它只是控制器方法的中間件。 嘗試直接調用您的方法 - 如果您的處理程序有效。 然后,為了記錄對服務器上文件的請求,您還需要檢查 IIS 的一些“下級”記錄器

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM