2010-06-03 308 views
1

我們在一個Asp.net Web應用程序中使用RDLC。對於超出我們的理解的原因,到數據庫服務器的第一次調用失敗,出現以下錯誤:Asp.Net假冒第一次嘗試但第二次成功失敗

An error has occurred during report processing. Cannot open database "TryParkingIt2" requested by the login. The login failed. Login failed for user 'EXTRANET\OurServerNameHere$'.

再次運行報告,它的工作原理。

咦?

更新第一次點擊按鈕,失敗。再次點擊按鈕,它可以工作。被模擬的帳戶是一個域帳戶。此外,所有五個不同的報告頁面都會出現此錯誤,這就是爲什麼我沒有包含任何代碼的原因。

+0

您是否指同一個模擬上下文中的第一個和第二個調用?在相同的方法?在同一個頁面請求中? – 2010-06-03 19:30:34

+0

你能告訴我們你是如何冒充的嗎? – 2010-06-03 19:30:52

+0

1)成功時,連接到SQL的身份是什麼?你可以在SQL分析器中看到這一點。 2)是否有任何理由你喜歡集成auth通過SQL身份驗證? – 2010-06-03 19:33:33

回答

1

尋找失敗的靜態構造函數或global.asax代碼。這些只在應用程序啓動時運行一次(實際上靜態構造函數是在第一次訪問類時運行的),因此經常會在第一次導致失敗,然後一切似乎都很好地工作(即使有些東西是真的在後臺被搗毀)。

順便說一句,這是避免靜態構造函數的一個重要原因。

相關問題