Browse Source

fixed issue #25.

master
yangxiaodong 7 years ago
parent
commit
730507d099
1 changed files with 14 additions and 1 deletions
  1. +14
    -1
      src/DotNetCore.CAP/Abstractions/CapPublisherBase.cs

+ 14
- 1
src/DotNetCore.CAP/Abstractions/CapPublisherBase.cs View File

@@ -12,9 +12,10 @@ namespace DotNetCore.CAP.Abstractions
protected IDbConnection DbConnection { get; set; } protected IDbConnection DbConnection { get; set; }
protected IDbTransaction DbTranasaction { get; set; } protected IDbTransaction DbTranasaction { get; set; }
protected bool IsCapOpenedTrans { get; set; } protected bool IsCapOpenedTrans { get; set; }
protected bool IsCapOpenedConn { get; set; }
protected bool IsUsingEF { get; set; } protected bool IsUsingEF { get; set; }
protected IServiceProvider ServiceProvider { get; set; } protected IServiceProvider ServiceProvider { get; set; }
public void Publish<T>(string name, T contentObj) public void Publish<T>(string name, T contentObj)
{ {
CheckIsUsingEF(name); CheckIsUsingEF(name);
@@ -83,7 +84,10 @@ namespace DotNetCore.CAP.Abstractions
throw new ArgumentNullException(nameof(dbConnection)); throw new ArgumentNullException(nameof(dbConnection));


if (dbConnection.State != ConnectionState.Open) if (dbConnection.State != ConnectionState.Open)
{
IsCapOpenedConn = true;
dbConnection.Open(); dbConnection.Open();
}


if (dbTransaction == null) if (dbTransaction == null)
{ {
@@ -122,8 +126,13 @@ namespace DotNetCore.CAP.Abstractions
{ {
dbTransaction.Commit(); dbTransaction.Commit();
dbTransaction.Dispose(); dbTransaction.Dispose();
}

if (IsCapOpenedConn)
{
dbConnection.Dispose(); dbConnection.Dispose();
} }

PublishQueuer.PulseEvent.Set(); PublishQueuer.PulseEvent.Set();
} }


@@ -142,8 +151,12 @@ namespace DotNetCore.CAP.Abstractions
{ {
dbTransaction.Commit(); dbTransaction.Commit();
dbTransaction.Dispose(); dbTransaction.Dispose();
}
if (IsCapOpenedConn)
{
dbConnection.Dispose(); dbConnection.Dispose();
} }

PublishQueuer.PulseEvent.Set(); PublishQueuer.PulseEvent.Set();
} }




Loading…
Cancel
Save