我在web.config中连接字符串是这样写的 <appSettings> <add key="connStr" value="Server=127.0.0.1;Datab

我在web.config中连接字符串是这样写的 <appSettings> <add key="connStr" value="Server=127.0.0.1;Datab,第1张

//连接对象

private static SqlConnection conn;

public static SqlConnection Conn

{

get

{

//从表示层的webconfig中获取连接字符串

string str = ConfigurationManagerConnectionStrings["conStr"]ConnectionStringToString();

if (conn == null)

{

conn = new SqlConnection(str);

connOpen();

}

else if (connState == SystemDataConnectionStateClosed)

{

connOpen();

}

else if (connState == SystemDataConnectionStateBroken)

{

connClose();

connOpen();

}

return conn;

}

}

对,楼上的同志说对了,ConfigurationManagerAppSettings["strCon"]意思是指从config配置文件中获取key值为“strCon”的Value,举个例子:

webconfig有这样一段config文件:

<connectionStrings>

<add name="strCon" connectionString="Provider=MicrosoftJetOleDb40;Data Source="/>

<add name="strCon2" connectionString="\App_Data\EB97E85678837AF\678837AF\Data1mdb"/>

</connectionStrings>

sqlCon = new SqlConnection(ConfigurationManagerConnectionStrings["strCon"]ConnectionString);

那么sqlCon 的值就是Provider=MicrosoftJetOleDb40;Data Source=了;

同理你用的是AppSettings,只要config里面添加了key为strCon,值为连接字符串就可以了,这样做便于修改和管理,多出调用,一处配置即可

那么

使用 xmldocument 进行 *** 作。

像 *** 作 XML 文件一样。

XML是一项热门的技术。它之所以能够引起人们的兴趣,一个主要的原因在于它十分的简单,人们可以很容易地理解和使用它。每一个程序员都能轻易地看懂一个XML文件,理解它包含的内容。

NET中包含了很多支持XML的类,这些类使得程序员使用XML编程就如同理解XML文件一样简单。在这篇文章中,我将给出这样的一个类的使用示例,这个类就是XmlTextWriter类。

XmlTextWriter类允许你将XML写到一个文件中去。这个类包含了很多方法和属性,使用这些属性和方法可以使你更容易地处理XML。为了使用这个类,你必须首先创建一个新的XmlTextWriter对象,然后你可以将XML片断加入到这个对象中。这个类中包含了不少的方法用于将各种类型的XML元素添加到XML文件中,下表给出了这些方法的名字和描述情况:

方法

描述

WriteStartDocument

书写版本为“10”的 XML 声明

WriteEndDocument

关闭任何打开的元素或属性

Close

关闭流

WriteDocType

写出具有指定名称和可选属性的 DOCTYPE 声明

WriteStartElement

写出指定的开始标记

WriteEndElement

关闭一个元素

WriteFullEndElement

关闭一个元素,并且总是写入完整的结束标记

WriteElementString

写出包含字符串值的元素

WriteStartAttribute

书写属性的起始内容

WriteEndAttribute

关闭上一个 WriteStartAttribute 调用

WriteRaw

手动书写原始标记

WriteString

书写一个字符串

WriteAttributeString

出具有指定值的属性

WriteCData

写出包含指定文本的 <![CDATA[]]> 块

WriteComment

写出包含指定文本的注释 <!---->

WriteWhiteSpace

写出给定的空白

WriteProcessingInstruction

写出在名称和文本之间带有空格的处理指令,如下所示:<name text>

如果你对于XML十分熟悉,那么你一定能很好的理解上面的这些方法。下面我们将给出一个例子,在这个例子中,我们将先创建一个文档,添加一些元素,然后关闭这个文档。添加了元素后你还可以添加子元素,属性和其他内容。下面的代码就是这样的一个例子,它创建了一个文件名为title的XML文件。

using System;

using SystemIO;

using SystemXml;

public class Sample

{

public static void Main()

{

XmlTextWriter writer = new XmlTextWriter("titlesxml", null);

//写入根元素

writerWriteStartElement("items");

//加入子元素

writerWriteElementString("title", "Unreal Tournament 2003");

writerWriteElementString("title", "C&C: Renegade");

writerWriteElementString("title", "Dr Seuss‘s ABC");

//关闭根元素,并书写结束标签

writerWriteEndElement();

//将XML写入文件并且关闭XmlTextWriter

writerClose();

}

}

如果你编译并且执行上面的代码,你将创建这个XML文件,文件中包含如下内容:

<items>

<title>Unreal Tournament 2003</title>

<title>C&C: Renegade</title>

<title>Dr Seuss‘s ABC</title>

</items>

上面的代码创建了一个名为writer的XmlTextWriter对象。当这个对象被创建时,它被关联到一个名为titlesxml的文件。接着,程序创建了一个叫做items的根属性,WriteStartElement方法创建了这个属性的开始标签。接下来,程序调用了 WriteElementString方法创建了三个子元素。从上面的代码你还可以看到,这个方法使用第一个参数(在上面的程序中是title)作为元素的标签;使用第二个参数作为元素的值。当你添加了所有的元素后,你需要关闭根元素。这时你可以调用WriteEndElement方法关闭那个最近被打开的元素;在本例中,这个最近被打开的元素就是根元素。当所有的数据都已经写好,根元素也已经关闭时,你可以将信息传送给你的XmlTextWriter。这意味着这时候你可以调用Close方法关闭它了。

上面的代码相对十分的简单,下面我们看一个使用了XmlTextWriter类中更多方法,功能更加完善的例子。

using System;

using SystemIO;

using SystemXml;

public class Sample

{

public static void Main()

{

XmlTextWriter writer = new XmlTextWriter("myMediaxml", null);

//使用自动缩进便于阅读

writerFormatting = FormattingIndented;

//书写根元素

writerWriteStartElement("items");

//开始一个元素

writerWriteStartElement("item");

//向先前创建的元素中添加一个属性

writerWriteAttributeString("rating", "R");

//添加子元素

writerWriteElementString("title", "The Matrix");

writerWriteElementString("format", "DVD");

//关闭item元素

writerWriteEndElement(); // 关闭元素

//在节点间添加一些空格

writerWriteWhitespace("\n");

//使用原始字符串书写第二个元素

writerWriteRaw("<item>" +

"<title>BloodWake</title>" +

"<format>XBox</format>" +

"</item>");

//使用格式化的字符串书写第三个元素

writerWriteRaw("\n <item>\n" +

" <title>Unreal Tournament 2003</title>\n" +

" <format>CD</format>\n" +

" </item>\n");

// 关闭根元素

writerWriteFullEndElement();

//将XML写入文件并关闭writer

writerClose();

}

}

上面代码编译运行后将得到myMediaxml文件,文件的内容为: <items>

<item rating="R">

<title>The Matrix</title>

<format>DVD</format>

</item>

<item>

<title>BloodWake</title>

<format>XBox</format>

</item>

<item>

<title>Unreal Tournament 2003</title>

<format>CD</format>

</item>

</items>

上面代码中的注释说明了这个程序的功能是如何实现的。需要记住的一件事是:当调用方法开始一个 *** 作时,你需要在程序的合适的地方调用方法结束这个 *** 作。例如,你调用了StartElement,你就必须调用EndElement关闭元素;当然在这两个调用之间你也可以加入一个子元素。无论你何时调用 EndElement方法,它总是关闭最近使用StartElement方法打开的那个元素(这和栈的工作方式很相似)。

使用XmlTextWriter十分的容易,不过我还是建议你自己动手试试这些代码和方法。你试过以后会发现这些代码能够很容易地集成到你的程序中。你还应该记住,XmlTextWriter仅仅是NET提供的众多XML类中的一个。

2)

我用的是一种很笨的方法,但可以帮助初学者了解访问XML节点的过程。

已知有一个XML文件(bookstorexml)如下:

<xml version="10" encoding="gb2312">

<bookstore>

<book genre="fantasy" ISBN="2-3631-4">

<title>Oberon‘s Legacy</title>

<author>Corets, Eva</author>

<price>595</price>

</book>

</bookstore>

1、往<bookstore>节点中插入一个<book>节点:

XmlDocument xmlDoc=new XmlDocument();

xmlDocLoad("bookstorexml");

XmlNode root=xmlDocSelectSingleNode("bookstore");//查找<bookstore>

XmlElement xe1=xmlDocCreateElement("book");//创建一个<book>节点

xe1SetAttribute("genre","李赞红");//设置该节点genre属性

xe1SetAttribute("ISBN","2-3631-4");//设置该节点ISBN属性

XmlElement xesub1=xmlDocCreateElement("title");

xesub1InnerText="CS从入门到精通";//设置文本节点

xe1AppendChild(xesub1);//添加到<book>节点中

XmlElement xesub2=xmlDocCreateElement("author");

xesub2InnerText="候捷";

xe1AppendChild(xesub2);

XmlElement xesub3=xmlDocCreateElement("price");

xesub3InnerText="583";

xe1AppendChild(xesub3);

rootAppendChild(xe1);//添加到<bookstore>节点中

xmlDocSave("bookstorexml");

//===============================================

结果为:

<xml version="10" encoding="gb2312">

<bookstore>

<book genre="fantasy" ISBN="2-3631-4">

<title>Oberon‘s Legacy</title>

<author>Corets, Eva</author>

<price>595</price>

</book>

<book genre="李赞红" ISBN="2-3631-4">

<title>CS从入门到精通</title>

<author>候捷</author>

<price>583</price>

</book>

</bookstore>

2、修改节点:将genre属性值为“李赞红“的节点的genre值改为“update李赞红”,将该节点的子节点<author>的文本修改为“亚胜”。

XmlNodeList nodeList=xmlDocSelectSingleNode("bookstore")ChildNodes;//获取bookstore节点的所有子节点

foreach(XmlNode xn in nodeList)//遍历所有子节点

{

XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型

if(xeGetAttribute("genre")=="李赞红")//如果genre属性值为“李赞红”

{

xeSetAttribute("genre","update李赞红");//则修改该属性为“update李赞红”

XmlNodeList nls=xeChildNodes;//继续获取xe子节点的所有子节点

foreach(XmlNode xn1 in nls)//遍历

{

XmlElement xe2=(XmlElement)xn1;//转换类型

if(xe2Name=="author")//如果找到

{

xe2InnerText="亚胜";//则修改

break;//找到退出来就可以了

}

}

break;

}

}

xmlDocSave("bookstorexml");//保存。

//==================================================

最后结果为:

<xml version="10" encoding="gb2312">

<bookstore>

<book genre="fantasy" ISBN="2-3631-4">

<title>Oberon‘s Legacy</title>

<author>Corets, Eva</author>

<price>595</price>

</book>

<book genre="update李赞红" ISBN="2-3631-4">

<title>CS从入门到精通</title>

<author>亚胜</author>

<price>583</price>

</book>

</bookstore>

3、删除 <book genre="fantasy" ISBN="2-3631-4">节点的genre属性,删除 <book genre="update李赞红" ISBN="2-3631-4">节点。

XmlNodeList xnl=xmlDocSelectSingleNode("bookstore")ChildNodes;

foreach(XmlNode xn in xnl)

{

XmlElement xe=(XmlElement)xn;

if(xeGetAttribute("genre")=="fantasy")

{

xeRemoveAttribute("genre");//删除genre属性

}

else if(xeGetAttribute("genre")=="update李赞红")

{

xeRemoveAll();//删除该节点的全部内容

}

}

xmlDocSave("bookstorexml");

//===========================================

最后结果为:

<xml version="10" encoding="gb2312">

<bookstore>

<book ISBN="2-3631-4">

<title>Oberon‘s Legacy</title>

<author>Corets, Eva</author>

<price>595</price>

</book>

<book>

</book>

</bookstore>

4、显示所有数据。

XmlNode xn=xmlDocSelectSingleNode("bookstore");

XmlNodeList xnl=xnChildNodes;

foreach(XmlNode xnf in xnl)

{

XmlElement xe=(XmlElement)xnf;

ConsoleWriteLine(xeGetAttribute("genre"));//显示属性值

ConsoleWriteLine(xeGetAttribute("ISBN"));

XmlNodeList xnf1=xeChildNodes;

foreach(XmlNode xn2 in xnf1)

{

ConsoleWriteLine(xn2InnerText);//显示子节点点文本

}

}

public IData CreateData(string key)

{

switch (key)

{

case "constr":

return new MySqlData(); break;

case "connstr":

return new SqlServerData(); break;

default:

throw new Exception("数据库只能是mysql或sqlserver");

}

}

一、认识Webconfig文件

Webconfig文件是一个XML文本文件,它用来储存 ASPNET Web 应用程序的配置信息(如最常用的设置ASPNET Web 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。当你通过VBNET新建一个Web应用程序后,默认情况下会在根目录自动创建一个默认的

Webconfig文件,包括默认的配置设置,所有的子目录都继承它的配置设置。如果你想修改子目录的配置设置,你可以在该子目录下新建一个Webconfig文件。它可以提供除从父目录继承的配置信息以外的配置信息,也可以重写或修改父目录中定义的设置。

在运行时对Webconfig文件的修改不需要重启服务就可以生效(注:<processModel> 节例外)。当然Webconfig文件是可以扩展的。你可以自定义新配置参数并编写配置节处理程序以对它们进行处理。

二、webconfig配置文件(默认的配置设置)以下所有的代码都应该位于

<configuration>

<systemweb>

</systemweb>

</configuration>

之间,出于学习的目的下面的示例都省略了这段XML标记

1、<authentication> 节

作用:配置 ASPNET 身份验证支持(为Windows、Forms、PassPort、None四种)。该元素只能在计算机、站点或应用程序级别声明。<authentication> 元素必需与<authorization> 节配合使用。

示例:

以下示例为基于窗体(Forms)的身份验证配置站点,当没有登陆的用户访问需要身份验证的网页,网页自动跳转到登陆网页。

<authentication mode="Forms" >

<forms loginUrl="logonaspx" name="FormsAuthCookie"/>

</authentication>

其中元素loginUrl表示登陆网页的名称,name表示Cookie名称

2、<authorization> 节

作用:控制对 URL 资源的客户端访问(如允许匿名用户访问)。此元素可以在任何级别(计算机、站点、应用程序、子目录或页)上声明。必需与<authentication> 节配合使用。

示例:以下示例禁止匿名用户的访问

<authorization>

<deny users=""/>

</authorization>

注:你可以使用useridentityname来获取已经过验证的当前的用户名;可以使用

webSecurityFormsAuthenticationRedirectFromLoginPage方法将已验证的用户重定向到用户刚才请求的页面具体的实例请参考:

Forms验证 >

以上就是关于我在web.config中连接字符串是这样写的 <appSettings> <add key="connStr" value="Server=127.0.0.1;Datab全部的内容,包括:我在web.config中连接字符串是这样写的 <appSettings> <add key="connStr" value="Server=127.0.0.1;Datab、解释ConfigurationManager.AppSettings["strCon"]、asp.net2.0 读写config文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9463081.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存