1
我有一個正在實施基於cookie的ASPNET表單身份驗證的網頁。ASP NET形式授權:如何減少持續時間?
一旦用戶登錄了該頁面,他就可以使用使用partialview創建的表單編輯一些信息,並將其作爲用於編輯的對話框返回給他。 連接到局部視圖裝飾作爲動作如下:
[HttpGet]
[OutputCache(Duration = 0, VaryByParam = "None")]
[Authorize(Roles = "test")]
public ActionResult changeTripInfo(int tripID, bool ovride=false)
{
...
}
我遇到的問題是該請求,並當所述對話框顯示給用戶的時間之間的延遲:800和之間的時間範圍內1100毫秒這是不正確的形式的複雜性。
使用Glimpse調查發現處理AuthorizeAttribute
(請參見snip)的時間總計至少爲650毫秒,這讓我很困擾。 查看Sql服務器日誌,如預期的那樣,檢查用戶角色的調用幾乎沒有任何操作(持續時間爲0)。 我該如何縮短這個時間?
我錯過了一些優化?
或者我應該假設這是執行屬性的正常持續時間(我不能在不同服務器上運行無偏差測試)?
CNC中 添加了SQL Server的通話記錄
我不會這麼說......我已經附加了SQL Server profiler轉儲,在這裏你可以看到兩個調用'GetRolesForUser'(正如我檢查兩個角色)和第三個調用獲取數據表格(持續時間爲6毫秒的表格)。 – eddo