-
ConnectionStrings
和
App
Settings
的区别
2009-12-18 02:56
AppSettings
是
1.1
时期用的
,
在
.NET Framework
2.0
中,新增了
ConnectionStrings.
1.
<
br>只需修改 <
br> <
br>中,
<
br>美国空间, <
br>, <
br>
<
br>
服务器
名
;Initial
Catalog=
数据库名
;User ID=
用户
;Password=
密码
providerName=
或是
服务器
名
;database=
数据库名
;User
ID=
用户
;Password=
密码
providerName=
在
里
,
在页面还可以这样引用
<%$$ ConnectionString:Name%>.
2.
服务器名或
IP;initial
catalog=
数据库名
;persist
security info=False;user id=
用
户
;password=
密码
;pa
cket size=4096
1)AppSettings
是在
2
003
中常用的,
ConnectionStrins
是
2005
中常用的
.
2)
使用
ConnectionStr
ing
的好处:
第一:可将连接字
符串加密,使用
MS
的一个加密工具即可。
第二:可直接邦定的数据源控件,而不必写代码读出来再赋值给控件。
第三:
可方便的更换数据库平台,
如换为
Oracle
数据库,
providerName
。
3)
写在
中用
tings[
检索值。
写在
中用
tionString
s[
检
索值。
在
.NET Framework 2.0
ConfigurationManager
类新增
了两个属性
AppSettings
和
ConnectionStrings
专门用来获取配置文件
A
ppSettings
和
ConnectionStrings
节的数据,使用方法如下:
using uration;
public partial class _Default :
{
protected void Page_Load(object sender,
EventArgs e)
{
=
tionStrings[
.ToString();
=
tings[
}
}
<
/p>
和
这个的区别
1.
Source=LEIKE;Initial
Catalog=SYXT;User ID=sa;Password=sa
providerName=
2.
:
source=192.168.123.201;initial
catalog=webmedlink;persist
security
info=False;user id=sa;password=KSDChagd2004;packet
size=4096
在
C#
里写
tionStrings[
onnectionStrings
但是在
V
B
里这样写就过不了,
请问一下是啥原因呢?
VB
里应该怎么写呢?
·
双线主机
100M/38
元
/
年
,
免费送数据库
(
自选
MY/MSSQL)
·
免备案
·
详情请访问:
购宝网
,
购宝时尚交易网
,
一件批发
,
一件代发
回答者:
hjsrcs
-
2009-11-24
22:25:15
appSettings>
key=
value=
=
服务器名
;
DataBase
=
northwind;
Uid
=
sa;
后台获取连接的方法:
C#
代码
C#
code
string
str = t
ing
s[
].ToString();
VB
code
VB
代码
Dim
str
As
String
=
urationSettings.
AppSettings(
回答者:
zengfanxing
换种方式
,
指定具体文件
private
static
string
GetConnectionStringsConfig(string
connectionName)
{
ExeConfigurationFileMap
fileMap
=
new
ExeConfigurationFileMap();
figFilename
=
pPath
+
@
Configuration
config
=
ppedExeConfiguration(fileM
ap,
);
return
tionStri
ngs[connectionName].ConnectionString.
To
String();
}
回答者:
lzsh0622
-
2009-11-24
22:29:10
Dim
conn
As
String
=
tings(
ctionString
回答者:
wuyq11
-
2009-11-24
22:35:06
Public
ReadOnly
ConnectionString
As
String
=
tionStrin
gs(
回答者:
wuyq11
-
2009-11-24
22:38:36
引用
3
楼
lzsh0622
的回复
:
换种方式
指定具体文件
private
static
string
GetConnectionStringsConfig(string
connectionName)
{
ExeConfigurationFileMap
fileMap
=
new
ExeConfigurationFileMap();
figFilename
=
pPath
+
@
Configuration
config
=
ppedExeConfiguration(fileMap,
);
return
tionStrings[connectionName].ConnectionString.
ToString();
}
引用
详解收藏
2009-12-10
18:17
阅读
53
评论
0
字号:
大
中
小
引用
sdshizq
的
详解收藏
<
/p>
夜话之十一:
详解收藏
2009
年
03
月
17
日
星期二
下午
03:46
Author:
周金桥
Date: 2008
年
11
月
10
日
在开发中经常会遇到这样的情况,在部署
程序时为了保密起见并不将源代码随项目一同发布,而我
们开发时的环境与部署环境可能
不一致(比如数据库不一样),如果在代码中保存这些配置这些信息部署
时需要到用户那
里更改代码再重新编译,这种部署方式非常麻烦。
在
.net
中提供了一种便捷的保存
项目配置信息的办法,那就是利用配置文件,配置文件的文件后缀
一般是
.config
,
在
中配置文件名一般默认是
。
每个
文件都是基于
XML
的
文本文件,并且可以保存到
Web
应用程序中的任何目录中。在发布
Web
应用程序时
文件并
不编译进
dll
文件中。如果将来客户端发生了变化,仅仅需要用记事本打开
文件编辑相关设置
就可以重新正常使用,非常方便。
本篇要讲述的知识如下:
配置文件的查找优先级
配置文件节点说明
配置文件的操作
配置文件的查找优先级
在
.net
提供了一个针对当前机器的配置文件,这个文件是
,它位
于
%windir%meworkv2.0
.50727CONFIG
文件下
(
%windir%
是系统分区下的系统目
录,在命令行模式下输入
%windir%
然后回车就能查看当前机器的系统目录,在
Windows2003
及
WindowsXP
中
%windir%
是系统分区下的
windows
目录,
在
Windows2000
中
%windir%
是系统分区下
的
WinNT
目录,在笔者机器上这个系统目录是
C:WINDOWS
)。这个文件里面定义了针对当前机器的
WinForm
程序和
应用程序的配置。下面是
文件的内容:
在这个文件夹下还有一个
文件,这个文件包含了
网站的常用配置。下面是这个
文件的内容:
网站
IIS
启动的时候会加载配置文
件中的配置信息,
然后缓存这些信息,
这样就不必每次去
读取配置信息。在运行过程中
应用程序会监
视配置文件的变化情况,一旦编辑了这些配置信息,
就会重新读取这些配置信息并缓存。
当我们要读取某个节点或者节点组信息时,是按照如下方式搜
索的:
(1)
如果在当前页面所在目录下存在
文件
,查看是否存在所要查找的结点名称,如果存
在返回结果并停止查找。
(2)
如果当前页面所在目录下不存在
文件或者
文件中不存在该结点名,<
/p>
则查
找它的上级目录,直到网站的根目录。
(3)
如果网站根目录下不存在
文件或者
文件中不存在该节点名则<
/p>
在
%windir%
文件中查找。
(4)
如果在
%windir%
文件中不存
在相
应结点,则在
%windir%
文件中查找。
(5)
如果仍然没有找到则返回
null
。
所以如果我们对某个网站或者某个
文件夹有特定要求的配置,可以在相应的文件夹下创建一个
文件,覆盖掉上级文件夹中的
文件中
的同名配置即可。这些配置信息的寻找只查
找一次,
以后便被缓
存起来供后来的调用。
在
应用程序运行过程中,
如果
文件发生更
改就会导致相应的应用程序重新启动,这时存储在服务器内存
中的用户会话信息就会丢失(如存储在内存
中的
Session
)。一些软件(如杀毒软件)每次完成对
的访问时就会修改
的访问
时间属性,也会导致
应用程序的重启。
配置文件节点说明
文件是一个
XML
文件,
它的根结点是
,
在
节点下的常
见子节点有:
、
、
和
<>
。其中
节点主要用于配置一些网站的应用配置信息,
而
节点主要用于配置网
站的数据库连
接字符串信息。
<>
节点主要是网站运行时的一些配置,它的常见节点有如下:
节点
节点主要用来存储
应用程序的一些配
置信息,比如上传文件的保存路径等,
以下是一个例子:
<
br>节点中增加 <
br>实例 对象
1.
value=
允许上传的文件类型
--> 5.
value=
对于
节点中的值可以按照
key
来进行访问,以下就是一个读取
key
值为
“FileType”
节点值的例子:
1. string
fileType=tings[
节点
节点主要用于配置
数据库连接的,我们可以
任意个节点来保存数据库连接字符串,将来在代码中通过代码的方式动
态获取节点的值来实例化数据库连
接对象,这样一旦部署的时候数据库连接信息发生变化
我们仅需要更改此处的配置即可,而不必因为数据
库连接信息的变化而需要改动程序代码
和重新部署。
以下就是一个
节点配置的例子:
1.
name=
Catalog=AspNetStudy;User ID=
sa;Password=sa
在代码中我们可以这么实例化数据库连接对象:
1. //
读取
p>
节点配置
2. string
connectionString =
tionStrings[
化
SqlConnection
4. SqlConnection
connection = new SqlConnection(connectionString);
这样做的好处是一旦开发时所用的数据库和部署时的数据库不一致,仅仅需要用记事本之
类的文本
编辑工具编辑
connectionString
属性的值就行了。
节点
节点配置
使用的所有编译设置。默认的
debug
属性为
“true”
,即允许调
p>
试,在这种情况下会影响网站的性能,所以在程序编译完成交付使用之后应将其设为
“false”
。
节点
设置
身份验证模式,有四种身份验证模式,它们的值分别如下:
Mode
说明
Windows
使用
Windows
身份验证,适用于域用户或者局域网用户。
Forms
使用表单验证,依靠网站开发人员进行身份验证。
Passport
使用微软提供的身份验证服务进行身份验证。
None
不进行任何身份验证。
节点
节点控制用户对网站、<
/p>
目录或者单独页的访问,
必须配合
节点一
起使用。
节点
节点用于定义一些自定义错误信息的信息。此节点有
Mode
和
defaultRedirect
两
个属性,其中
defaultRedirect
属性是一个可选属性,表示应用程序发生错误时重定向到的默认
URL <
/p>
,如
果没有指定该属性则显示一般性错误。
Mode
属性是一个必选属性,它有三个可能值,它们所代表的意义
分别如下:
Mode
说明
On
表示在本地和远程用户都会看到自定义错误信息。
Off
禁用自定义错误信息,本地和远程用户都会看到详细的
错误信息。
RemoteOnly
表示本地用户将看到详细错误信息,而远程用户将会看到自定义错误信息。
这里有必要说明一下本地用户和远程用户的概念。当我们访问
应用程时所使用的机器和发
布
应用程序所使用的机器为同一台机器时成为本地用户,反之则称之为远程用户。在开发调试阶<
/p>
段为了便于查找错误
Mode
属性建议设置为
Off
,而在部署阶段应将
Mode
属性设置为
On
或者
RemoteOnly
,以避免
这些详细的错误信息暴露了程序代码细节从而引来黑客的入侵。
下面我们添加一个页面
,
在它的
Page_Load
事件里抛出一个异常,
代码
如下:
1. using System; 2. using 3.
using uration; 4. using
tions; 5. using
; 6. using ty; 7. using 8.
using
trols; 9. using ts; 10. using
ntrols;
11. 12. public partial class CustomErrorsDemo :
13.
{ 14. protected void
Page_Load(object sender, EventArgs e) 15. { 16.
throw new Exception(
故意抛出的
异常。
我们先配置
如下:
1.
3.
这时本地运行
的效果如下:
远程访问时看到的效果:
-
-
-
-
-
-
-
-
-
上一篇:netapp加入域控制器
下一篇:LTE信令-RRC连接重建