WebConfig ConnectionStrings Tool For .NET2.0

原创 2007年09月27日 20:28:00

App.xml

<?xml version="1.0" encoding="utf-8" ?>
<app>
  <add key = "1" value="C:/WIndows/Microsoft.NET/Framework/v2.0.50727/aspnet_regiis.exe"/>
  <add key = "2" value="MyKeys"/>
  <add key = "3" value="/Demo"/><!--虛擬目錄路徑-->
  <add key = "4" value="ecnc0048/ASPNET"/> <!--ASPNET帳號-->
</app>

C# Code: 

static void Main(string[] args)
        {
            Console.Title = "WebConfig ConnectionStrings Tool For .NET2.0";
            Console.WriteLine("WebConfig ConnectionStrings Encryption and Declassified Tool/n");

            Console.WriteLine("1)Encryption WebConfig ConnectionStrings.");
            Console.WriteLine("2)Declassified WebConfig ConnectionStrings.");
            Console.WriteLine("3)Exit WebConfig./n");
            Console.Write("Please select number: ");

            string strIn = Console.ReadLine().Replace("Please select number:", "");
            switch (strIn)
            {
                case "1"://加密
                    RunCmd("1");
                    break;
                case "2"://解密
                    RunCmd("2");
                    break;
                case "3"://退出
                    break;
                default:
                    Console.WriteLine("/n Input error./n");               
                    Main(args);
                    break;
            }

            //Console.WriteLine(RunCmd(@"C:/WIndows/Microsoft.NET/Framework/v2.0.50727/aspnet_regiis -pc MyKeys -exp"));
            //Console.WriteLine(RunCmd(@"C:/WIndows/Microsoft.NET/Framework/v2.0.50727/aspnet_regiis -pe connectionStrings -app /Demo"));
            //Console.WriteLine(RunCmd(@"C:/WIndows/Microsoft.NET/Framework/v2.0.50727/aspnet_regiis -pa NetFrameworkConfigurationKey ecnc0048/ASPNET"));
            //Console.WriteLine(RunCmd(@"C:/WIndows/Microsoft.NET/Framework/v2.0.50727/aspnet_regiis -pa MyKeys ecnc0048/ASPNET"));
        }

        private static void RunCmd(string select)
        {
            string xmlFile = System.IO.Path.GetFullPath(@"App.xml");
            if (File.Exists(xmlFile))
            {
                XmlDocument xDoc = new XmlDocument();
                xDoc.Load(xmlFile);
                XmlNode xNode;
                XmlElement xElem1, xElem2, xElem3, xElem4;

                xNode = xDoc.SelectSingleNode("//app");
                xElem1 = (XmlElement)xNode.SelectSingleNode("//add[@key='1']");
                xElem2 = (XmlElement)xNode.SelectSingleNode("//add[@key='2']");
                xElem3 = (XmlElement)xNode.SelectSingleNode("//add[@key='3']");
                xElem4 = (XmlElement)xNode.SelectSingleNode("//add[@key='4']");

                if (xElem1 != null)
                {
                    string command = xElem1.GetAttribute("value");
                    string cmdKey = xElem2.GetAttribute("value");
                    string iisPath = xElem3.GetAttribute("value");
                    string iisUser = xElem4.GetAttribute("value");

                    if (File.Exists(command))
                    {
                        if (select == "1")
                        {
                            cmd(command + " -pc " + cmdKey + " -exp");
                            cmd(command + " -pe connectionStrings -app " + iisPath);
                            cmd(command + " -pa NetFrameworkConfigurationKey " + iisUser);
                            cmd(command + " -pa " + cmdKey + " " + iisUser);
                        }
                        else if (select == "2")
                        {
                            cmd(command + " -pd connectionStrings -app " + iisPath);
                        }

                        Console.WriteLine("Please Enter Exit.");
                        Console.ReadLine();
                    }
                    else
                    {
                        Console.WriteLine(command + " file does not exist.");
                        Console.WriteLine("Please check App.xml file./n");
                        Main(null);
                        return;
                    }
                }
            }
            else
            {
                Console.WriteLine("App.XML file does not exist./n");
                Main(null);
                return;
            }
        }

        private static void cmd(string command)
        {
            Process p = new Process();
            p.StartInfo.FileName = "cmd.exe";           //指定程序名
            p.StartInfo.Arguments = "/c " + command;    //定程式
            p.StartInfo.UseShellExecute = false;        //Shell的使用
            p.StartInfo.RedirectStandardInput = true;   //重定向入
            p.StartInfo.RedirectStandardOutput = true;  //重定向出
            p.StartInfo.RedirectStandardError = true;   //重定向出
            p.StartInfo.CreateNoWindow = true;          //置不示窗口

            p.Start();   //€€€€

            //p.StandardInput.WriteLine(command);       
            //p.StandardInput.WriteLine("exit");      
            //return p.StandardOutput.ReadToEnd();        
            Console.WriteLine(p.StandardOutput.ReadToEnd());
        }

在.NET的WebConfig中connectionStrings 和AppSetting 有什么不同?

从开始接触配置文件,在配置文件中写连接字符串,就一直使用Appsetting.以为就只有这个写法。偶然在今天看webconfig的时候发现了一个connectionstring的标记。这不是连接字符串...
  • wangyongxia921
  • wangyongxia921
  • 2013年12月11日 16:37
  • 6128

程序后台获取web.config中connectionStrings 的值方法

程序后台获取web.config中connectionStrings 的值的方法 web.config中使用了数据库连接字符串的配置,...
  • qinghecool
  • qinghecool
  • 2010年12月30日 17:00
  • 9616

读取webconfig里面的appSetting和connectionString

原文出处:http://blog.csdn.net/breaker892902/article/details/9055795 web config里的配置文件,如:     ...
  • chelen_jak
  • chelen_jak
  • 2017年03月23日 10:21
  • 744

Web.config 加密及解密

Web应用通常使用web.config存储数据库连接信息及应用的一些基础配置信息。为了安全性,我们采用一些加密手段来加密一些敏感信息,比如数据库连接字符串。 .NET 自带了一个aspnet_reg...
  • afandaafandaafanda
  • afandaafandaafanda
  • 2015年09月01日 22:04
  • 1817

ADO.Net读取配置文件中的连接字符串ConnectionString

将连接字符串直接放在程序中,每次修改连接字符串,都要重新编译/生成。好的办法是将连接字符串放在应用程序配置文件中,应用程序配置文件是用XML(Extensible Markup Language)编写...
  • gshgsh1228
  • gshgsh1228
  • 2016年03月12日 20:08
  • 1456

.NET2.0配置文件中的<connectionStrings>

.Net 2.0的配置文件中新增加了一个节点。这个节点是专门用于存储数据库联接字符串的。不尽包含了字符串而且还包含了使用何种Provider的信息。例如:http://schemas.microsof...
  • tmanliu
  • tmanliu
  • 2006年12月27日 16:13
  • 1202

获取Web.Config中节点的值

读取webconfig里面的appSetting和connectionString     http://moss2007:7000" />         在页面读取: priv...
  • zhuyu19911016520
  • zhuyu19911016520
  • 2012年11月24日 21:57
  • 9666

Access数据库在Web.Config文件中的配置

在开发中用MSSQL 的多,而Access数据库的少,下面简单说下Access数据库的连接设置: web.config配置         用于测试连接状态的代码:  public string Op...
  • taomanman
  • taomanman
  • 2009年10月12日 13:37
  • 1196

connectionStrings节的配置方法

ASP.NET web.config中数据库连接字符串connectionStrings节的配置方法 作者: 字体:[增加 减小] 类型:转载 ASP.NET web....
  • zhangge360
  • zhangge360
  • 2014年06月04日 11:24
  • 948

【C/S】——浅谈AppSettings和ConnectionStrings的区别

在设计模式抽象工厂那一节中就接触过配置文件,当时的感觉晕乎乎的,一直感觉好高大上的样子。后来到机房收费系统,七层的架构再次用到,可是自己过的太迷糊了,却从未想到去了解一个这个高大上的东西,直到机房系统...
  • jiadajing267
  • jiadajing267
  • 2016年02月05日 11:47
  • 1977
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:WebConfig ConnectionStrings Tool For .NET2.0
举报原因:
原因补充:

(最多只允许输入30个字)