首页 >> 注册码&序列号

SQL中C# 连接字符串数据库服务器端口号.net状态服务器端口号是怎么连接的

2010-12-21 09:38:59

SQL中C# 连接字符串数据库服务器端口号.net状态服务器端口号是怎么连接的:

正常的数据库连接字符串配置,这是在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" /> 

在这个例子中,状态服务在一台名为myserver的机器的42424端口(默认端口)运行。要在服务器上改变端口,可编辑HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesaspnet_stateParameters注册表项中的 Port值。 

显然,使用状态服务的优点在于进程隔离,并可在Web farm中共享。 使用这种模式,会话状态的存储将不依赖于iis进程的失败或者重启,然而,一旦状态服务中止,所有会话数据都会丢失。换言之,状态服务不像SQL Server那样能持久存储数据;它只是将数据存储在内存中。 无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET 状态服务)已启动,并且 客户端端口与服务器端口相同。如果服务器位于远程计算机上,请检查 

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesaspnet_stateParametersAllowRemoteConnection 的值,确保服务器接受远程请求。如果服务器位于本地计算机上,并且上面提到的注册表值不存在或者设置 为 0(如果改为1,就可接受远程连接),则状态服务器连接字符串必须使用“localhost”或“127.0.0.1”作为服务器名称。