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