Caching configuration example using Csharp

Added by Vishal Ganeriwala , last edited by Vishal Ganeriwala on Apr 17, 2008
Tags: 

Caching configuration example using Csharp

Summary

Caching configuration example using Csharp

Download

Download here

Code Snippet

using System;
using System.Runtime.Remoting;
using System.Xml.Serialization;
using System.Web.Services;
    
	namespace NSConfig {
		public class ClientService : NSConfigService

                {
                        private static string cookie = null;
                        /* override the getWebRequest to send cookie */
                        protected override System.Net.WebRequest  GetWebRequest(Uri uri)
                        {
                                System.Net.HttpWebRequest req = (System.Net.HttpWebRequest) base.GetWebRequest(uri);
                                if (cookie != null)
                                {
                                        req.Headers.Add("Set-Cookie", cookie);
                                }
                                return req;
                        }
                        /* override the getWebResponse to get the cookie */

                        protected override System.Net.WebResponse GetWebResponse(System.Net.WebRequest req)
                        {
                               System.Net.HttpWebResponse rep = (System.Net.HttpWebResponse) base.GetWebResponse(req);
                               if (rep.Headers["Set-Cookie"] != null)
                                {
                                       cookie = rep.Headers["Set-Cookie"];
                                }
                                return rep;
			}
                        public ClientService()
                        {
                                // Change the IP address pointing to netscaler.
                                this.Url = "http://10.102.4.111:18000";
                        }
                        public ClientService(string servername)
                        {
                                this.Url = "http://"+servername+"/soap";;
                        }
                }
	
	class IC_70_config 
	{
 		static ClientService client=null;
 
		[STAThread]
		static void Main(string[] args)
		{
			if ( args.Length < 3)
			{
				Console.WriteLine("Usage: getConfig <NS IP> username password");
				return;
			}
			string serverip = args[0];
			string username = args[1];
			string password = args[2];
			try {
          			Console.WriteLine("\nConnecting to server "+serverip+" ............\n");
				client = new ClientService(serverip);

				client.CookieContainer = new System.Net.CookieContainer();
				simpleResult result = client.login(username,password) ;
				Console.WriteLine("login : "+result.message);
       
				result = client.enablensfeature(featureEnum.IC);
				Console.WriteLine("enablensfeature	IC : " + result.message);

				result = client.setcacheparameter_verifyusing(verifyusingEnum.DNS);
				Console.WriteLine("setcacheparameter_verifyusing	DNS : " + result.message);

				result = client.adddnsnameserver("10.102.1.15",null);
				Console.WriteLine("adddnsnameserver	10.102.1.15 : " + result.message);

				result = client.addpolicyexpression("host_request1","REQ.HTTP.HEADER HOST == www.test.com");
				Console.WriteLine("addpolicyexpression	host_request1 : " + result.message);

				result = client.addcachecontentgroup("test_group1",0xFFFFFFFF,yesnoEnum.VALNOTSET,yesnoEnum.VALNOTSET,null,null);
				Console.WriteLine("addcachecontentgroup	test_group1 : " + result.message);

				result = client.setcachecontentgroup_lazydnsresolve("test_group1",yesnoEnum.NO);
				Console.WriteLine("setcachecontentgroup_lazydnsresolve	test_group1 : " + result.message);

				result = client.addcachepolicy("host_cache_policy1","host_request1",cachedirectiveEnum.CACHE,"test_group1",null,null);
				Console.WriteLine("addcachepolicy	host_cache_policy1 : " + result.message);

				result = client.bindcacheglobal_policy("host_cache_policy1",4000,yesnoEnum.VALNOTSET);
				Console.WriteLine("bindcacheglobal_policy	host_cache_policy1 : " + result.message);

				getcachepolicyResult  getcachepolicyresult1 = client.getcachepolicy("host_cache_policy1");
				Console.WriteLine("getcachepolicy	host_cache_policy1 : " + getcachepolicyresult1.message);

				if ( (getcachepolicyresult1.List != null) && (getcachepolicyresult1.List.Length > 0)) {
					for(int i =0 ; i < getcachepolicyresult1.List.Length;i++) { 
						cachepolicy obj;
						obj = (cachepolicy) getcachepolicyresult1.List[i];
						Console.WriteLine( obj.policyname + "\t" + obj.rule + "\t" + obj.actioN + "\t" + obj.storeingroup + "\t" + obj.invalgroups + "\t" + obj.invalobjects + "\t" + obj.priority + "\t" + obj.hits + "\t" + obj.flags + "\t" + obj.precededefrules + "\t" );
					}
				}

				result = client.addpolicyexpression("host_request2","REQ.HTTP.HEADER HOST == www.test.com");
				Console.WriteLine("addpolicyexpression	host_request2 : " + result.message);

				result = client.addcachecontentgroup("test_group2",0xFFFFFFFF,yesnoEnum.VALNOTSET,yesnoEnum.VALNOTSET,null,null);
				Console.WriteLine("addcachecontentgroup	test_group2 : " + result.message);

				result = client.setcachecontentgroup_lazydnsresolve("test_group2",yesnoEnum.YES);
				Console.WriteLine("setcachecontentgroup_lazydnsresolve	test_group2 : " + result.message);

				result = client.addcachepolicy("host_cache_policy2","host_request2",cachedirectiveEnum.CACHE,"test_group2",null,null);
				Console.WriteLine("addcachepolicy	host_cache_policy2 : " + result.message);

				result = client.bindcacheglobal_policy("host_cache_policy2",4010,yesnoEnum.VALNOTSET);
				Console.WriteLine("bindcacheglobal_policy	host_cache_policy2 : " + result.message);

				getcachepolicyResult  getcachepolicyresult2 = client.getcachepolicy("host_cache_policy2");
				Console.WriteLine("getcachepolicy	host_cache_policy2 : " + getcachepolicyresult2.message);

				if ( (getcachepolicyresult2.List != null) && (getcachepolicyresult2.List.Length > 0)) {
					for(int i =0 ; i < getcachepolicyresult2.List.Length;i++) { 
						cachepolicy obj;
						obj = (cachepolicy) getcachepolicyresult2.List[i];
						Console.WriteLine( obj.policyname + "\t" + obj.rule + "\t" + obj.actioN + "\t" + obj.storeingroup + "\t" + obj.invalgroups + "\t" + obj.invalobjects + "\t" + obj.priority + "\t" + obj.hits + "\t" + obj.flags + "\t" + obj.precededefrules + "\t" );
					}
				}

				result = client.logout();
				Console.WriteLine("logout : " + result.message); 
			}
			catch (Exception ex) {
			      Console.WriteLine( "Exception: "+ex.ToString());
			}
		}

	}
	}

More Information