/// <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); } }
public static void Main() { TargetClass tgt = TargetClass.tc; ProxyClass pc = new ProxyClass(tgt.Id, tgt.SomeName); string s = JsonConvert.SerializeObject(pc); Console.WriteLine(s); }
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); }
static void Main(string[] args) { /*动态编译*/ var order = ProxyClass.Generate <IOrder>(); var dss = order.Update(new Order { Id = 222222 }); /*简单实例*/ //Roslyn.Create(); //Roslyn.Test(); Console.WriteLine(""); }
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); } } } } }
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(); }
/// <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; } }
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(); }