Exemplo n.º 1
0
 /// <summary>
 ///     Creates a new instance of this class
 /// </summary>
 /// <param name="jsVariableName">
 ///     The name of the variable to be used from the Javascript side to access the HybridMessaging
 ///     object
 /// </param>
 public HybridMessagingHandler(string jsVariableName = "HybridMessaging")
 {
     HybridMessagingProxy  = new ProxyClass(this);
     HybridMessagingBridge = new ClassBridge <ProxyClass>();
     HybridMessagingBridge.PushJavascript += OnPushJavascript;
     HybridMessagingBridge.AddInstance(HybridMessagingProxy, jsVariableName);
 }
        private void DemoProxy()
        {
            IDemoProxy proxy = new RealProxy();

            proxy.InsertString("Peter");
            proxy.InsertString("Anders");
            proxy.InsertString("Vibeke");
            proxy.InsertString("Michael C");

            foreach (string s in proxy.GetAll())
            {
                Console.WriteLine(s);
            }

            Console.WriteLine("    AFTER PROXY ");
            IDemoProxy proxy2 = new ProxyClass("SWC");

            proxy2.InsertString("Peter");
            proxy2.InsertString("Anders");

            foreach (string s in proxy2.GetAll())
            {
                Console.WriteLine(s);
            }
        }
Exemplo n.º 3
0
    public static void Main()
    {
        TargetClass tgt = TargetClass.tc;
        ProxyClass  pc  = new ProxyClass(tgt.Id, tgt.SomeName);
        string      s   = JsonConvert.SerializeObject(pc);

        Console.WriteLine(s);
    }
Exemplo n.º 4
0
         public static void LoadAssembly()
         {
             string pathToDll = Assembly.GetExecutingAssembly().CodeBase;
             AppDomainSetup domainSetup = new AppDomainSetup { PrivateBinPath = pathToDll };
             var newDomain = AppDomain.CreateDomain("FooBar", null, domainSetup);
             ProxyClass c = (ProxyClass)(newDomain.CreateInstanceFromAndUnwrap(pathToDll, typeof(ProxyClass).FullName));
             Console.WriteLine(c == null);
 
             Console.ReadKey(true);
         }
Exemplo n.º 5
0
        static void Main(string[] args)
        {
            /*动态编译*/
            var order = ProxyClass.Generate <IOrder>();
            var dss   = order.Update(new Order {
                Id = 222222
            });


            /*简单实例*/
            //Roslyn.Create();
            //Roslyn.Test();
            Console.WriteLine("");
        }
Exemplo n.º 6
0
        public static void StartScrapper2(ProxyClass proxyClass)
        {
            foreach (string FileName in Directory.GetFiles(False))
            {
                using (StreamReader r = new StreamReader(FileName))
                {
                    //OPENS AND DESERIALIZE JSON FILE
                    string   fileurl  = r.ReadToEnd();
                    string[] SplitUrl = fileurl.Split('\n');

                    JsonSerializer serializerJson = new JsonSerializer();
                    using (StreamWriter sw = new StreamWriter(True + @"\" + Split[Split.Length - 1]))
                    {
                        using (JsonWriter writer = new JsonTextWriter(sw))
                        {
                            serializerJson.Serialize(writer, CaseIpOeb);
                        }
                    }
                }
            }
        }
Exemplo n.º 7
0
        public void TestKeyAndClientBehavior()
        {
            var uri     = new Uri("HTTPS://bing.com");
            var uri2    = new Uri("https://bINg.com:443");
            var uri3    = new Uri("http://bing.com:443/api/test");
            var client1 = new ProxyClass(uri);
            var client2 = new ProxyClass(uri2);
            var client3 = new ProxyClass(uri3);

            // client 1 and client2 should share the same client, and have the same key
            Assert.IsTrue(client1.ClientKey == client2.ClientKey);
            Assert.AreSame(client1.HttpClient, client2.HttpClient);

            // client1 and client3 should not share the same client since key is different
            Assert.IsTrue(client1.ClientKey != client3.ClientKey);
            Assert.AreNotSame(client1.HttpClient, client3.HttpClient);

            client1.Dispose();
            client2.Dispose();
            client3.Dispose();
        }
Exemplo n.º 8
0
        /// <summary>
        ///     The method to dispose this class
        /// </summary>
        protected virtual void Dispose(bool disposing)
        {
            if (Disposed)
            {
                return;
            }
            Disposed = true;

            if (disposing)
            {
                if (HybridMessagingBridge != null)
                {
                    if (HybridMessagingProxy != null)
                    {
                        HybridMessagingBridge.RemoveInstance(HybridMessagingProxy);
                    }
                    HybridMessagingBridge.PushJavascript -= OnPushJavascript;
                }
                HybridMessagingProxy  = null;
                HybridMessagingBridge = null;
            }
        }
Exemplo n.º 9
0
        static void Main(string[] args)
        {
            try
            {
                var ProxyClass = new ProxyClass();
                ProxyClass = ProxyClass.ProxyListCreation(ProxyClass);

                FtThread thr1 = new FtThread(ProxyClass);
                FtThread thr2 = new FtThread(ProxyClass);

                Thread tid1 = new Thread(new ThreadStart(thr1.Ft_Thread1));
                Thread tid2 = new Thread(new ThreadStart(thr2.Ft_Thread2));

                tid1.Start();
                tid2.Start();

                while (true)
                {
                    Thread.Sleep(5000);
                    if (thr1.EndThread1 == 1)
                    {
                        tid1.Abort();
                        thr1.EndThread1 = 2;
                    }
                    if (thr2.EndThread2 == 1)
                    {
                        tid2.Abort();
                        thr2.EndThread1 = 2;
                    }
                    if (thr1.EndThread1 == 2 && thr2.EndThread2 == 2)
                    {
                        break;
                    }
                }
            }
            catch
            {
            }
        }
        public void CallSingletonFromDomains()
        {
            Console.WriteLine("Call MySingleton method from" + AppDomain.CurrentDomain.FriendlyName + " (" + AppDomain.CurrentDomain.Id + ")");
            MyCrossAppDomainSingleton.Instance.TestMethod();

            Console.WriteLine("\n\n");

            // Setting the base directory makes it work from nunit test (otherwise the new app domain would look for the CrossAppDomainSingleton dll in the nunit directory
            AppDomainSetup setup = new AppDomainSetup()
            {
                ApplicationBase = AppDomain.CurrentDomain.BaseDirectory
            };

            AppDomain domainA = AppDomain.CreateDomain("A Domain", null, setup);
            AppDomain domainB = AppDomain.CreateDomain("B Domain", null, setup);

            Type       testClassType = typeof(ProxyClass);
            ProxyClass proxyA        = (ProxyClass)domainA.CreateInstanceAndUnwrap(testClassType.Assembly.FullName, testClassType.FullName);
            ProxyClass proxyB        = (ProxyClass)domainB.CreateInstanceAndUnwrap(testClassType.Assembly.FullName, testClassType.FullName);

            proxyA.TestMethod();
            proxyB.TestMethod();
        }
 public void AccessOtherAssembly()
 {
     ProxyClass tc = new ProxyClass();
 }