2014-02-19 35 views
1

我定期收到一個拒絕訪問錯誤的Telerik trdx報告顯示與html5查看器。我給每個人都有權訪問網站以及緩存使用的臨時文件夾。我有一個調用存儲過程的報告,它將日期和用戶ID作爲參數。很多人會同時在相同的日期點擊報告。該報告還有一個sql查詢源於一個子報表,但我認爲這對於這個討論並不重要。大多數時候報告工作正常。然而,有些人有時會得到下面的錯誤 - 最後的11位數字可能會改變。有時候,如果他們爲報告選擇另一天 - 報告起作用。據我所知,每個查看特定日期的報告都會爲緩存創建一個文件夾...並且該文件夾可能會在同一天被其他用戶重新使用。它還看起來像Telerik爲運行報告的用戶的報告實例設置了緩存文件夾的權限。因此,如果用戶A選擇2/20/14並且用戶B同時選擇2/20/14,則Telerik希望使用相同的文件夾...並且第一個用戶是唯一具有權限的用戶。我完全可以離開,但這就是它對我的看法。任何澄清如何穩定報告將不勝感激。Telerik HTML5查看器訪問被拒絕

發生錯誤。 訪問路徑'7.2.13.1016_135907-aa13'被拒絕

回答

1

作爲選項,請嘗試使用CacheFactory.CreateFileCache方法(字符串)爲不同用戶創建不同的緩存。

所以它可能是這樣的:

public class ReportController : ReportsControllerBase 
{ 
    private readonly IUserService _userService; 

    public ReportController(IUserService userService) 
    { 
     _userService = userService; 
    } 

    protected override IReportResolver CreateReportResolver() 
    { 
     return new CustomReportResolver(); 
    } 

    protected override ICache CreateCache() 
    { 
     return Telerik.Reporting.Services.Engine.CacheFactory.CreateFileCache(String.Format("{0}\{1}", cachePath, windowsUserService.GetUser()); 
    } 

}