![](/img/trans.png)
[英]how to set connection string and host a asp.net web application (having windows authentication) in local for SQL Server for multiple users?
[英]Multiple SQL Server connection to my ASP.NET web application
我有一个用于建立与sql server的连接的类。 现在,我想用3个连接分别将用户访问我的应用程序连接到我的应用程序。 我如何在这个班上实现这一点。
namespace SafetyNet.Logic
{
public class DBManager : IDisposable
{
#region Privates
public const string Database_Index = "";
private String _innerTransName = "innerTransaction";
private SqlConnection _conn = null;
private SqlTransaction _trans = null;
private bool _disposed = false;
public static readonly string DBConnectionString = ConfigurationManager.ConnectionStrings["Connection String"].ToString();
public DBManager()
: this(DBConnectionString)
{
string connection = "";
this._innerTransName = "Guide" + DateTime.UtcNow.Ticks.ToString();
}
public DBManager(string connectionString)
{
string connection = "";
_conn = new SqlConnection(connectionString);
this._innerTransName = "Guide" + DateTime.UtcNow.Ticks.ToString();
}
public String ConnectionString
{
get
{
return ConnectionString;
}
}
private void Open()
{
if (_conn != null && _conn.State != ConnectionState.Open)
{
_conn.Open();
}
}
public void Close()
{
if (_conn != null)
{
if (_conn.State == ConnectionState.Open)
_conn.Close();
}
}
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
protected void Finalize()
{
Dispose(true);
}
private void Dispose(bool disposing)
{
if (!_disposed)
{
if (_trans != null)
{
_trans.Dispose();
_trans = null;
}
if (_conn != null)
{
_conn.Close();
_conn.Dispose();
_conn = null;
}
_disposed = true;
}
}
#endregion
#region Transaction
public SqlTransaction BeginTransaction()
{
Open();
if (_trans == null)
_trans = _conn.BeginTransaction(IsolationLevel.ReadUncommitted, _innerTransName);
return _trans;
}
public void CommitTransaction()
{
if ((_conn.State == ConnectionState.Open) && (_trans != null))
{
_trans.Commit();
}
}
public void RollbackTransaction()
{
if ((_conn.State == ConnectionState.Open) && (_trans != null))
{
_trans.Rollback(_innerTransName);
}
}
public SqlConnection GetConnection()
{
return _conn;
}
#endregion
}
}
提前致谢。
如果您希望三个连接使用不同的连接/权限,则必须向配置中添加三个不同的连接字符串,并根据一些区分符(用户类型等)加载它们
更改代码以使用不同的连接字符串。
但是,如果这是有关并发连接(相同的连接字符串)的问题,则可以依靠.Net支持的默认连接池。 默认情况下,它支持许多并发连接。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.