写了好几天的WebService,总把数据库的连接字符串直接放入程序中,突然想,如果有一天数据库服务器改变的话,那岂不是要改程序,还得重新编译?好不麻烦!如果能够把数据库连接字符串放在一个文件中,用户可以直接进行更改而不用去更改程序那多好呀!上网baidu了一下,居然有好多关于这问题的!说的都是用Web.Config的方式。好不开心,于是...呵呵,不得不夸一下自己真聪明(别扔TMD哦!!),看了一下就上手了。现在就拿出来与大家分享(现学现卖)。
准备好了吗?我们一步一步来开始了:
1、打开WebService的WebConfig(如果你不知道哪儿有这个文件的话,那我不妨告诉你:就在你所写的WebService的同一目录下)。
2、在<configuration>节点下增加如下的语句(如果不懂“<configuration>节点下”是什么意思的话,你就找出<configuration>,然后在后面加一行,然后把下面的增加进去就行了)
<appSettings>
<add key="一个名字" value="数据库连接字符串" />
</appSettings>
其中的“一个名字”就是相当于你给“数据库连接字符串”起个名字。
3、保存Web.config,关闭Web.config。
4、打开WebService。
5、向WebService中引入System.Configuration(using System.Configuration)命名空间。
6、声明一个Connection,如果你的数据库是SqlServer的就用SqlConnection,如果是别的就用OleDBConnection好了(呵呵呵,你要用ODBCConnection我也没意见的,因为我还不懂有什么差别......)。
7、如果我们声明的Connection为cn,那么我们这时就可以为这个cn的ConnectionString 赋值了。具体如下:
this.cn.ConnectionString = ConfigurationSettings.AppSettings["一个名字"] //还记得这个“一个名字”吗?对了,就是在Web.Config中写的那个。
8、还有什么得说的?呃...没了好像!呵呵,就是这样了,我们的cn都可以Open和Close了。
下面给条完整的WebServer例子吧。Web.Config那里就按上面的好了。
using System;
using System.Web;
using System.Web.Service;
using System.Conllecions;
using System.Configuration;
namespace ws
{
public class ws1
{
private System.Data.SqlClient.SqlConnection cn;
[WebService]
public bool isConnected()
{
bool b;
cn = new System.Data.SqlClient.SqlConnection();
cn.ConnectionString = ConfigurationSettings.AppSettings["一个名字"];
try
{
cn.Open();
b = true;
}
catch(Exception)
{
b = false;
}
finally
{
cn.Close();
}
return b;
}
}
}
WebService如何从Web.Config中读取数据库连接字符串
最新推荐文章于 2023-10-16 20:21:07 发布