home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 2005 June (DVD) / DPPRO0605DVD.iso / dotNETSDK / SETUP.EXE / netfxsd1.cab / FL_FooClient_cs________.3643236F_FC70_11D3_A536_0090278A1BB8 < prev    next >
Encoding:
Text File  |  2002-04-20  |  3.6 KB  |  121 lines

  1. /*=====================================================================
  2.  
  3.   File:      FooClient.cs
  4.  
  5. ---------------------------------------------------------------------
  6. This file is part of the Microsoft .NET Framework SDK Code Samples.
  7.  
  8.   Copyright (C) Microsoft Corporation.  All rights reserved.
  9.  
  10. This source code is intended only as a supplement to Microsoft
  11. Development Tools and/or on-line documentation.  See these other
  12. materials for detailed information regarding Microsoft code samples.
  13.  
  14. THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  15. KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  16. IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  17. PARTICULAR PURPOSE.
  18. =====================================================================*/
  19.  
  20. using System;
  21. using System.Globalization;
  22. using System.IO;
  23. using System.Reflection;
  24. using System.Runtime.Remoting;
  25. using System.Runtime.Remoting.Messaging;
  26. using FooAssembly;
  27.  
  28. public class Client
  29. {
  30.     public static int Main(string[] args)
  31.     {
  32.         Console.WriteLine("CallContext Remoting Sample\n");
  33.         int ret = Initialize(args);
  34.  
  35.         if (ret != -1)
  36.         {
  37.             switch (scenario)
  38.             {
  39.             case 1: 
  40.                 Scenario1();
  41.                 break;
  42.             }
  43.         }
  44.  
  45.         Console.WriteLine("\nEnd\n");
  46.  
  47.         return ret;
  48.     }
  49.  
  50.     public static void Scenario1()
  51.     {
  52.         SimpleObject so = new SimpleObject();
  53.  
  54.         CallContext.SetData("USER", new CallContextString("billg"));
  55.  
  56.         CallContextString str = (CallContextString) CallContext.GetData("USER");
  57.  
  58.     if (null == str)
  59.           Console.WriteLine("USER is null");
  60.         else
  61.           Console.WriteLine("USER is '{0}'", str);
  62.  
  63.         String result;
  64.  
  65.         result = so.DoWork();
  66.         Console.WriteLine("The returned String is '{0}'", result);
  67. /*
  68.         ValueObject v = new ValueObject();
  69.         result = so.DoValueWork(v);
  70.         Console.WriteLine("The returned String is '{0}'", result);
  71. */
  72.     }
  73.  
  74.     //---------------------------------------------------
  75.     public static int scenario = 1;
  76.  
  77.     public static int Initialize(String[] args)
  78.     {
  79.         if (args.Length == 0)
  80.         {
  81.             RemotingConfiguration.Configure("FooClient.exe.config");
  82.             return 0;
  83.         }
  84.  
  85.         for (int i=0;i<args.Length;i++)
  86.         {
  87.             if (
  88.                String.Compare(args[i],"HELP", true,CultureInfo.InvariantCulture) == 0 ||
  89.                String.Compare(args[i],"?", true,CultureInfo.InvariantCulture) == 0 ||
  90.                String.Compare(args[i],"/h", true,CultureInfo.InvariantCulture) == 0 ||
  91.                String.Compare(args[i],"-h", true,CultureInfo.InvariantCulture) == 0 ||
  92.                String.Compare(args[i],"-?", true,CultureInfo.InvariantCulture) == 0 ||
  93.                String.Compare(args[i],"/?", true,CultureInfo.InvariantCulture) == 0
  94.                )
  95.             {
  96.                 Usage();
  97.                 return -1;
  98.             }
  99.  
  100.             if (String.Compare(args[i],"-s1",true,CultureInfo.InvariantCulture)==0)
  101.             {
  102.                 scenario = 1;
  103.             }
  104.  
  105.             if (String.Compare(args[i],"-cfg",true,CultureInfo.InvariantCulture)==0)
  106.             {
  107.                 RemotingConfiguration.Configure(args[i+1]);
  108.             }
  109.         }
  110.  
  111.         return 0;
  112.     }
  113.  
  114.     public static void Usage()
  115.     {
  116.         Console.WriteLine("Usage: FooClient [-cfg Configfile.config]\n");
  117.         Console.WriteLine("Examples : FooClient -cfg FooClient.exe.config");
  118.     }
  119. }
  120.  
  121.