使用ASP.NET MVC4我在WebAPI項目中創建了DelegatingHandler。我使用處理程序將一些數據插入到HttpRequestMessage屬性集合中,以便稍後的Http管道部分(例如其他處理程序,控制器)可以訪問該數據。訪問WebAPI中的HttpRequestMessage屬性集合時的性能問題
實施例:
var httpRequest = (HttpRequestMessageProperty) request.Properties["httpRequest"];
httpRequest.Headers["MY_DATA"] = "some data";
我想測試的吞吐量的WebAPI請求處理的這方面的影響,所以我創建一個控制檯應用程序的是,一個Action委託內,實例化一個HttpClient的,發送請求,並在發送下一個之前等待響應。我使用這裏描述的性能測量策略指望這個Action委託的成功執行的5秒窗口內數: http://www.codeproject.com/Articles/61964/Performance-Tests-Precise-Run-Time-Measurements-wi
我所觀察到的是,有超過性能的幅度損失在執行單行從Properties集合中檢索httpRequest。如果沒有這行代碼,我會在5秒內看到> 700次完成。當我添加該行時,它會在5秒內完成。
有沒有其他人經歷過這個?我應該使用不同的方法來緩存數據,以便在整個Http管道中可用的單個請求的長度?