我正在使用带有sql server连接的asp.net(c#)。该应用程序一次由30个用户使用。
以下是我的应用程序的连接字符串:
<add name="AOS" connectionString="Data Source=SANDIP-PC\R2;Initial Catalog=DB_20150322;User ID=sa;Password = lambda; Connect Timeout=100; Pooling=False;" providerName="System.Data.SqlClient"/>
我的应用程序运行正常,上面的连接字符串,但有时当发生异常时,如果连接未关闭,并且在此期间任何新请求出现,则显示以下错误消息:
“无法打开登录请求的数据库”DB_20150322。登录失败。
用户's SqlException(0x80131904)'登录失败。“
我没有此应用程序的源代码。 我该如何解决这个问题? 发生此类异常时如何全局关闭数据库连接? 除了我的思考过程之外还有其他问题吗?
我之所以这样,是因为每次都会打开相同的页面而没有任何错误,但有时当第一次使用相同的条件加载同一页面时,页面不会加载。
如何在发生此类异常时全局关闭连接?
我是否需要更改连接字符串中的任何内容?
答案 0 :(得分:0)
这不是Connection Close问题,它显示登录失败错误 因为Web.Config文件中使用了身份验证模式。
使用Windows身份验证模拟服务帐户,您必须在IIS和ASP.NET中设置Windows身份验证。
在Web.Config
文件中设置:
<system.web>
<authentication mode="Windows"/>
</system.web>
EDIT2: 如果由于连接问题确实发生了,那么你可以 打开或关闭任何连接时检查连接状态,例如
if(con.State == ConnectionState.Open)
{
con.Close();
}
和
if(con.State == ConnectionState.Close)
{
con.Open();
}