(转)C#数据库连接字符串
本文介绍C#数据库连接字符串,以及介绍状态服务不像SQLServer那样能持久存储数据;它只是将数据存储在内存中。
正常的C#数据库连接字符串配置,这是在MSSQL服务器端口是1433(默认)的情况下。
但是有时候,为了数据库服务器安全,这个端口会被改成其它的,这时再连接数据库可能报出以下错误:
在建立与服务器的连接时出错。在连接到SQLServer2005时,在默认的设置下SQLServer不允许进行远程连接可能会导致此失败。(provider:命名管道提供程序,error:40-无法打开到SQLServer的连接)
这时只需要把端口号加上就可以了:
端口修改方法:
"开始"-->"服务器网络实用工具"-->tcp/ip-->默认端口:2433(其它的也可以)
StateServer会话管理
将mode属性设为StateServer,也就是将会话数据存储到单独的内存缓冲区中,再由单独一台机器上运行的Windows服务来控制这个缓冲区。状态服务全称是"ASP.NETStateService"(aspnet_state.exe),它由Web.config文件中的stateConnectionString属性来配置。该属性指定了服务所在的服务器,以及要监视的端口:
在这个例子中,状态服务在一台名为myserver的机器的42424端口(默认端口)运行。要在服务器上改变端口,可编辑HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters注册表项中的Port值。显然,使用状态服务的优点在于进程隔离,并可在Webfarm中共享。使用这种模式,会话状态的存储将不依赖于iis进程的失败或者重启,然而,一旦状态服务中止,所有会话数据都会丢失。换言之,状态服务不像SQLServer那样能持久存储数据;它只是将数据存储在内存中。
无法向会话状态服务器发出会话状态请求。请确保ASP.NETStateService(ASP.NET状态服务)已启动,并且客户端端口与服务器端口相同。如果服务器位于远程计算机上,请检查
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\AllowRemoteConnectio
n的值,确保服务器接受远程请求。如果服务器位于本地计算机上,并且上面提到的注册表值不存在或者设置为0(如果改为1,就可接受远程连接),则C#服务器连接字符串必须使用"localhost"或"127.0.0.1"作为服务器名称。以上介绍C#数据库连接字符串。