ali raza

C#, .Net ,Asp.net and my thoughts

How to check the value of tag in web config. in c#

Currently i have to work on some console application that reads all web.cong files in specific folder, for example it read the value of <compliation/> tag in c://inetpub where usually all web sites are placed. There are many ways to do it. Read all web.config as xml and read a node, but i did it with the help of System.IO I pasted the code as follow.

 

using System;

using System.Collections.Generic;

using System.Text;

using System.Web.Configuration;

using System.IO;

namespace WebConfigCheckerTool

{

class Program

{

//The meath where i read the web.config as a simple text file

//strpath take the phyiscal path in specific folder

//Searchstring contains the value of tag which value is search in tag

private static void SearchNode(string strPath, string Searchstring)

{

try

{

StreamReader srConfig = new StreamReader(strPath);

//i required only name of website or sub folder name where web.config locate

string[] FolderName = strPath.Split(‘\\’);

string WebSiteName = FolderName[FolderName.Length – 2].ToString();

//Read whole web.config in string and shift it into lower case so case sensitve will not create problem in searching

string strConfig = srConfig.ReadToEnd().ToLower();

//Searching the index of tag of in string  using simple string functions.

int _strMain = strConfig.IndexOf(“<“ + Searchstring + “>”);

if (_strMain == -1)

{

//if not found may be tag is in single line for example <compilation //valu=”debug” /> So i search “< compilation

int _Str = strConfig.IndexOf(@”<“ + Searchstring);

// if not found in as both case <compliation /> or <compliation > //<compliation>

if (_Str == -1)

{

Console.WriteLine(WebSiteName + ” at Not Found”);

}

else

{

// if tag in the form of  <compilation value=”bug” /> . Then find index of “>” //closing tag

int _Str2 = strConfig.IndexOf(“>”, _Str);

// Find the total length of string containing  taqs value

int _strLength = _Str2 – _Str;

Console.Write(” > “ + WebSiteName + ” “);

//write the value of string form starting taq to toal length +1

Console.WriteLine(strConfig.Substring(_Str, _strLength + 1));

Console.WriteLine(“************************************************”);

}

}

if (_strMain != -1)

{

string LastSrting = (“</” + Searchstring + “>”);

int _strlast = strConfig.IndexOf(LastSrting);

int _Str2 = strConfig.IndexOf(“>”, _strlast);

int _str3 = _Str2 – _strlast;

int _strLength = (_strlast – _strMain) + _str3;

Console.Write(” > “ + WebSiteName + ” “);

Console.WriteLine(strConfig.Substring(_strMain, _strLength + 1));

Console.WriteLine(“************************************************”);

}

}

catch (Exception ex)

{

Console.WriteLine(“Not Found”);

}

}

//The method where i write the read the specific directory

public static void DirSearch(string sDir,string SearchString)

{

try

{

foreach (string d in Directory.GetDirectories(sDir))

{

foreach (string f in Directory.GetFiles(d, “Web.config”))

{

SearchNode(f, SearchString);

}

DirSearch(d,SearchString);

}

}

catch (System.Exception excpt)

{

// Console.WriteLine(excpt.Message);

Console.WriteLine(” Directory dot found or drive name is invalid. “);

}

}

static void Main(string[] args)

{

string Check=“Y”;

do

{

Console.WriteLine(“***************************************************************”);

Console.WriteLine(“* *”);

Console.WriteLine(“* *”);

Console.WriteLine(“* *”);

Console.WriteLine(“* Web.Config Checker Tool *”);

Console.WriteLine(“* *”);

Console.WriteLine(“* *”);

Console.WriteLine(“***************************************************************”);

Console.WriteLine(“”);

Console.WriteLine(“”);

Console.WriteLine(“Please Enter the search Word”);

string Searchstring = Console.ReadLine();

Searchstring = Searchstring.ToLower();

Console.WriteLine(“*****************************************************”);

Console.WriteLine(“Please Enter the search Directory Path”);

string DirectoryPath = Console.ReadLine();

//DirSearch(@”C:\Inetpub\wwwroot”, Searchstring);

DirSearch(DirectoryPath, Searchstring);

Console.WriteLine(“***************************************************************”);

Console.WriteLine(“* *”);

Console.WriteLine(“* *”);

Console.WriteLine(“* *”);

Console.WriteLine(“* Web.Config Checker Tool *”);

Console.WriteLine(“* *”);

Console.WriteLine(“* *”);

Console.WriteLine(“***************************************************************”);

Console.WriteLine(” Do You Want to Search Again, Please Press ‘Y’ or search again “);

Check = Console.ReadLine();

Console.Clear();

}

while (Check == “Y” || Check == “y”);

}

}

}

 

try it it will help you

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: