static void Main(string[] args) { // das muss voeher in einer Konsole gemacht werden damit die useraccesscontrol // uns einen WebServerdienst starten laesst //netsh http add urlacl url=http://+:9000/ user=jeder //Uri myUri = new Uri(@"http://localhost:9000"); // das hier damit auf alle adressen reagiert wird auf localhost und auf die Ip Adresse string baseAddress = "http://*:12345/"; //string baseAddress = "http://localhost:12345/"; // Starte den Thread fuer die Pipe-Verbindung zum Auftragsserver PipeThread m_PipeThread = new PipeThread("ToSrv", "FromSrv", "."); PipeThread.MainThreadDispatcher = Dispatcher.CurrentDispatcher; m_PipeThread.StartPipeWorkerThread(); // das Ganze Zeug hier tut immer //WebApp.Start<Startup>(url: baseAddress); //using (WebApp.Start<Startup>(new StartOptions(baseAddress){ ServerFactory = "Microsoft.Owin.Host.HttpListener" })) //using (WebApp.Start<Startup>(new StartOptions(baseAddress))) //using (WebApp.Start<Startup>(url: baseAddress)) Console.WriteLine("starte owin host"); WebApp.Start <Startup>(url: baseAddress); { // Launch the browser //Process.Start(baseAddress); // Keep the server going until we're done Console.WriteLine("Webservers hosted on " + baseAddress + " It can be tested now, Press Enter to Exit"); /* * Messageque starten durch Dispatcher.Run * hier bleiben wir haengen und bearbeiten eine Messagequeue, * erst wenn InvokeShutdown aufgerufen wurde wird der Dispatcher beendet * bei einer Anwendung mit User Interface wie WinForm oder WPF brauchen wir das nicht weil es da schon einen Dispatcher * gibt der laeuft und daher brauchen wir keinen starten * Wir starten aber noch vorher einen annoymen thread in dem wir ein Enter abfangen um den Dispatcher zu beende */ Dispatcher mainDispatcher = Dispatcher.CurrentDispatcher; new Thread((ThreadStart) delegate() { Console.WriteLine("Press <Return> to close the application"); Console.ReadLine(); AppShutdownDispatcher(mainDispatcher); }).Start(); Dispatcher.Run(); //Console.ReadLine(); } m_PipeThread.ShutdownClienttoSrv(); m_PipeThread.WorkerThread.Join(); Console.WriteLine("Feierabend !, Press Enter to Exit"); Console.ReadLine(); }
//JAVA TO C# CONVERTER WARNING: 'final' parameters are ignored unless the option to convert to C# 7.2 'in' parameters is selected: //ORIGINAL LINE: private static void pipe(final String prefix, final java.io.InputStream source, final java.io.PrintStream target) private static void Pipe(string prefix, Stream source, PrintStream target) { lock (typeof(PipeThread)) { if (_piper == null) { _piper = new PipeThread(); _piper.Start(); } _piper.tasks.add(new PipeTask(prefix, source, target)); } }
static void Main(string[] args) { // das muss voeher in einer Konsole gemacht werden damit die useraccesscontrol // uns einen WebServerdienst starten laesst //netsh http add urlacl url=http://+:9000/ user=jeder //Uri myUri = new Uri(@"http://localhost:9000"); // das hier damit auf alle adressen reagiert wird auf localhost und auf die Ip Adresse string baseAddress = "http://*:12345/"; //string baseAddress = "http://localhost:12345/"; // Starte den Thread fuer die Pipe-Verbindung zum Auftragsserver PipeThread m_PipeThread = new PipeThread("ToSrv", "FromSrv", "."); PipeThread.MainThreadDispatcher = Dispatcher.CurrentDispatcher; m_PipeThread.StartPipeWorkerThread(); // das Ganze Zeug hier tut immer //WebApp.Start<Startup>(url: baseAddress); //using (WebApp.Start<Startup>(new StartOptions(baseAddress){ ServerFactory = "Microsoft.Owin.Host.HttpListener" })) //using (WebApp.Start<Startup>(new StartOptions(baseAddress))) //using (WebApp.Start<Startup>(url: baseAddress)) Console.WriteLine("starte owin host"); WebApp.Start<Startup>(url: baseAddress); { // Launch the browser //Process.Start(baseAddress); // Keep the server going until we're done Console.WriteLine("Webservers hosted on " + baseAddress + " It can be tested now, Press Enter to Exit"); /* * Messageque starten durch Dispatcher.Run * hier bleiben wir haengen und bearbeiten eine Messagequeue, * erst wenn InvokeShutdown aufgerufen wurde wird der Dispatcher beendet * bei einer Anwendung mit User Interface wie WinForm oder WPF brauchen wir das nicht weil es da schon einen Dispatcher * gibt der laeuft und daher brauchen wir keinen starten * Wir starten aber noch vorher einen annoymen thread in dem wir ein Enter abfangen um den Dispatcher zu beende */ Dispatcher mainDispatcher = Dispatcher.CurrentDispatcher; new Thread((ThreadStart)delegate() { Console.WriteLine("Press <Return> to close the application"); Console.ReadLine(); AppShutdownDispatcher(mainDispatcher); }).Start(); Dispatcher.Run(); //Console.ReadLine(); } m_PipeThread.ShutdownClienttoSrv(); m_PipeThread.WorkerThread.Join(); Console.WriteLine("Feierabend !, Press Enter to Exit"); Console.ReadLine(); }