0

システムのタイムアウト期限が切れた問題が発生しています。詳細については、エラーメッセージを参照してください。

Timeout expired.  The timeout period elapsed prior to obtaining a connection from the pool.  This may have occurred because all pooled connections were in use and max pool size was reached. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.InvalidOperationException: Timeout expired.  The timeout period elapsed prior to obtaining a connection from the pool.  This may have occurred because all pooled connections were in use and max pool size was reached.

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace: 

[InvalidOperationException: Timeout expired.  The timeout period elapsed prior to obtaining a connection from the pool.  This may have occurred because all pooled connections were in use and max pool size was reached.]
   System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +5079753
   System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +126
   System.Data.SqlClient.SqlConnection.Open() +125
   SubSonic.SqlDataProvider.CreateConnection(String newConnectionString) +37
   SubSonic.SqlDataProvider.CreateConnection() +25
   SubSonic.AutomaticConnectionScope..ctor(DataProvider provider) +62
   SubSonic.SqlDataProvider.GetReader(QueryCommand qry) +54
   SubSonic.DataService.GetReader(QueryCommand cmd) +25
   SubSonic.StoredProcedure.ExecuteTypedList() +47
   Db.Employee.FindByUsername(String sUsername) in d:\Hudson\jobs\SMART Staff - Dev\workspace\Staff\site\Classes\DataAccess\Employee.cs:426
   CurrentUser.get_SmartID() in d:\Hudson\jobs\SMART Staff - Dev\workspace\Staff\site\Classes\CurrentUser.cs:38
   DbRoleProvider.GetRolesForUser(String usernameIgnored) in d:\Hudson\jobs\SMART Staff - Dev\workspace\Staff\site\Classes\DbRoleProvider.cs:21
   System.Web.Security.RolePrincipal.IsInRole(String role) +182
   System.Web.Configuration.AuthorizationRule.IsTheUserInAnyRole(StringCollection roles, IPrincipal principal) +132
   System.Web.Configuration.AuthorizationRule.IsUserAllowed(IPrincipal user, String verb) +264
   System.Web.Configuration.AuthorizationRuleCollection.IsUserAllowed(IPrincipal user, String verb) +201
   System.Web.Security.UrlAuthorizationModule.OnEnter(Object source, EventArgs eventArgs) +9018637
   System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +148
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75

たださまよっているだけで、キャンセルをクリックしたときに接続されたすべてのデータベース接続を閉じる方法、またはc#.netのページを更新する方法を知っている人はいますか?

4

3 に答える 3

1

コードが終了する前にすべてのオブジェクトを解放するように注意する必要があります。また、データベース接続の場合は、それらをできるだけ短く開くようにする必要があります。たとえば、 (using) キーワードを使用できます。

using (SqlConnection conn = new SqlConnection(connectionString))
{
  conn.Open();
  ///Use the connection ....
  ///.
  ///.
  ///.
  /// The connection will be closed and disposed automatically before the end of (using) block;
}
于 2012-10-23T05:19:01.307 に答える
0

接続を開いた後、次のように閉じてみてください。

 using (SqlConnection conn = new SqlConnection(connectionString))
    {  
    try          
    {    
    //
    //
    //             
    conn.Close();
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message);
    }
    finally
    {
    if (conn != null) conn.Close();
    }
    }
于 2012-10-23T06:41:01.533 に答える
0

多分これはあなたを助けることができます:

SQL Server データベースへのユーザーのすべての接続を強制終了するにはどうすればよいですか?

しかし、確かではありません。使用している DBMS を教えていませんでした。

于 2012-10-23T03:42:19.637 に答える