value="uid=flash;password=3.1415926;database=news;server=(local)"/>
在程序中,你可以使用以下代码来使用web.config中的设置:
----------
importssystem.configuration
dimmyvarasstring
myvar=configurationsettings.appsettings("connstring"
-----c#-----
usingsystem.configuration;
stringmyvar;
myvar=configurationsettings.appsettings["connstring"];
2、连接多个数据库
同理,那就是使用多个不同的key值来设置
3、设置不同子目录下应用程序的数据库链接
这是一个很有意思的方法,在设置前,先说明一下它的用途:
如果在一个虚拟目录下有多个子目录,每一个子目录下下的web应用程序都需要连接不同的数据库,这如何做呢?
?
一种方法是在每一个子目录下分别建立一个web.config,用它来设置这个目录下的数据库连接。
但这种方法的问题是需要维护每一个了目录下的web.config。
方法二,是只在虚拟目录下建立一个web.config,在它里面设置每一个子目录下的应用程序的数据库连接。
说到这里,你会想到上面的第二种方法,使用多个不同的key值来设置,这的确是一个办法。
这里,我想说明的是另一种方法:
在虚拟目录下布置web.config,在其中使用location标记,使用同一个key值来连接数据库,这样做的好处很明显,因为用同一个key值,将导致在所有目录下的应用程序中,都可以使用共同的语句来连接数据库,这在程序以后发生位置迁移时,并不用修改程序中连接数据库的语句。
具体设置如下:
注:
上例中news、bbs、soft分别是虚拟目录下的子目录。
程序中使用连接时,采用下面的方法:
publicfunctiongetconnectionstring()
configurationsettings.appsettings().item("connstring"
endsub
最后需要说明的一点是,为了有效地利用.config文件,你应当创建标准的键名和值定义供所有的应用程序开发人员所用。
这样就可以让同一项目的开发人员采用公共的项目设置。
这些标准在部署应用程序和将其转化为产品的时候非常有用。
web.config中的session配置详解
打开某个应用程序的配置文件Web.config后,我们会发现以下这段:
< sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:
42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="20"
/>
这一段就是配置应用程序是如何存储Session信息的了。
我们以下的各种操作主要是针对这一段配置展开。
让我们先看看这一段配置中所包含的内容的意思。
sessionState节点的语法是这样的:
< sessionState mode="Off|InProc|StateServer|SQLServer"
cookieless="true|false"
timeout="number of minutes"
stateConnectionString="tcpip=server:
port"
sqlConnectionString="sql connection string"
stateNetworkTimeout="number of seconds"
/>
必须有的属性是
属性 选项 描述
mode 设置将Session信息存储到哪里
Off 设置为不使用Session功能
InProc 设置为将Session存储在进程内,就是ASP中的存储方式,这是默认值。
StateServer 设置为将Session存储在独立的状态服务中。
SQLServer 设置将Session存储在SQL Server中。
可选的属性是:
属性 选项 描述
cookieless 设置客户端的Session信息存储到哪里
ture 使用Cookieless模式
false 使用Cookie模式,这是默认值。
timeout 设置经过多少分钟后服务器自动放弃Session信息。
默认为20分钟
stateConnectionString 设置将Session信息存储在状态服务中时使用的服务器名称和端口号,例如:
"tcpip=127.0.0.1:
42424”。
当mode的值是StateServer是,这个属性是必需的。
sqlConnectionString 设置与SQL Server连接时的连接字符串。
例如"data source=localhost;Integrated Security=SSPI;Initial Catalog=northwind"。
当mode的值是SQLServer时,这个属性是必需的。
stateNetworkTimeout 设置当使用StateServer模式存储Session状态时,经过多少秒空闲后,断开Web服务器与存储状态信息的服务器的TCP/IP连接的。
默认值是10秒钟。
ASP.NET中客户端Session状态的存储
在我们上面的Session模型简介中,大家可以发现Session状态应该存储在两个地方,分别是客户端和服务器端。
客户端只负责保存相应网站的SessionID,而其他的Session信息则保存在服务器端。
在ASP中,客户端的SessionID实际是以Cookie的