2010-06-03 138 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代码。这些只在应用程序启动时运行一次(实际上静态构造函数是在第一次访问类时运行的),因此经常会在第一次导致失败,然后一切似乎都很好地工作(即使有些东西是真的在后台被捣毁)。

顺便说一句,这是避免静态构造函数的一个重要原因。

相关问题