正常的数据库连接字符串配置,这是在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”作为服务器名称。