Example #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            Console.WriteLine("Loading dynamic library...");
            List <Type> LibraryTypes = new List <Type>();

            LibraryTypes.AddRange(Assembly.Load("MyFirstLibrary").GetTypes());
            foreach (var type in LibraryTypes)
            {
                Console.WriteLine(type.AssemblyQualifiedName);
            }
            Console.WriteLine("Done");

            Console.WriteLine("Now using MyFirstLibrary class HelloWorld...");
            dynamic libraryHelloWorld = Activator.CreateInstance(LibraryTypes.Where(t => t.FullName == "MyFirstLibrary.HelloWorld").First());

            libraryHelloWorld.Initialize();
            libraryHelloWorld.Message = "This is wonderful :)";
            libraryHelloWorld.Run();
            libraryHelloWorld.Abort();
            libraryHelloWorld.Dispose();

            Console.ReadLine();
        }
Example #2
0
        public void CheckStatus(Object stateInfo)
        {
            dynamic serviceClient = null;

            if (stateInfo is Mage_Api_Model_Server_Wsi_HandlerPortTypeClient)
            {
                serviceClient = stateInfo as Mage_Api_Model_Server_Wsi_HandlerPortTypeClient;
            }
            else if (stateInfo is MagentoSoapServiceReference.Mage_Api_Model_Server_Wsi_HandlerPortTypeClient)
            {
                serviceClient = stateInfo as MagentoSoapServiceReference.Mage_Api_Model_Server_Wsi_HandlerPortTypeClient;
            }

            Interlocked.Increment(ref this.invokeCount);
            if (this.invokeCount == this.maxCount)
            {
                Interlocked.Exchange(ref this.invokeCount, 0);
                if (serviceClient != null)
                {
                    serviceClient.Abort();
                }
            }
        }
Example #3
0
 public void Abort() => client?.Abort();