Zum Inhalt springen

Blackodem

Mitglieder
  • Gesamte Inhalte

    11
  • Benutzer seit

  • Letzter Besuch

  1. Was mich interessieren würde: Wofür genau steht BOS? Ich hätte jetzt Bachelor of Science getippt, aber du schreibst erst BOS und dann Studium. Ich hab selber eine Ausbildung als FIAE gemacht (nach der Realschule) und bin jetzt zirka seit einem Jahr berufstätig, brauche aber 3 Jahre um studieren zu können, da würde mich echt interessieren was du da vor hättest. Was ich noch sagen kann: Im Beruf zu bleiben ist auf jeden Fall nicht verkehrt, egal ob du jetzt in deinem Betrieb bleibst, oder zu einem neuen Arbeitgeber gehst, aber ein Studium hilft dir natürlich auch, im Endeffekt musst du selbst entscheiden was du wirklich machen möchtest. Gruß Nico
  2. Hallo Gemeinde, ich schreibe derzeit eine Konsolenanwendung, die Daten von einer Datenbank zur anderen karrt. Das passiert in einer Schleife, leider wird der Arbeitsspeicherverbrauch immer höher, also gehe ich davon das die Objekte aus den älteren Durchgängen noch irgendwie gespeichert bleiben. static void Main(string[] args) { Console.SetWindowSize(Console.WindowWidth, Console.WindowHeight); Konfiguration lKonfig = new Konfiguration(); lKonfig.ShowDialog(); int liTimeout = 2000; if (lKonfig.DialogResult == System.Windows.Forms.DialogResult.OK) { liTimeout = lKonfig.Timeout * 1000; while (Run) { try { Sql lSql = new Sql(lKonfig.ConnectionStringFirebird, lKonfig.ConnectionStringSybase); Log.Info("Transfer wird gestartet", ConsoleColor.White); bool lbAenderung = lSql.AverpZuIcline(); if (lbAenderung) Log.Info("avERP zu ICLine Transfer erfolgreich beendet. Details zu den Änderungen entnehmen Sie bitte dem Log", ConsoleColor.Green); else Log.Info("avERP zu ICLine Transfer erfolgreich beendet. Es gab keine Änderungen", ConsoleColor.Green); lbAenderung = lSql.IclineZuAverp(); } catch (Exception e) { Log.Fehler(e.Message.ToString()); } Thread.Sleep(liTimeout); } } } Ich bin extra dazu übergegangen, das SQL Objekt jeden Durchlauf neu zu erstellen, aber das hat leider auch nichts gebracht. Auch GC.Collect() am Ende der Schleife hilft nicht. Das Programm läuft so lange bis der Arbeitsspeicher voll ist und schießt sich dann mit einer OutOfMemoryException ab. Hat jemand einen Tipp was man ändern sollte? Wenn ihr noch weitere Infos etc braucht, stell ich euch die gerne zur Verfügung
  3. Danke für den Tipp, ich bin gerade zurück auf das BasicHttpBinding und da funktioniert es, es scheint Probleme mit der Authentifizierung gegeben zu haben, die mit dem BasicBinding jetzt erstmal gelöst sind
  4. Das Readline ist nur dafür da, damit sich der Service nicht beendet. Sobald der User eine Taste drückt, wird der Service beendet, da fehlte noch das lServiceHost.Close(); unten dran. Ich habe mich bei dem Aufbau an dieses Tutorial gehalten: WCF tutorial
  5. Das ist eine gute Idee danke. Was soll ich denn noch dazu packen, es ist der Code vom Service da und der Code vom Client, was wird noch gebraucht? Server: static void Main(string[] args) { // Url erstellen (HTTP) Uri lUrl = new Uri("http://localhost:8090/ERPTracker_Service/ClientService"); // ServiceHost erstellen ServiceHost lServiceHost = new ServiceHost(typeof(service.clientservice.ClientService), lUrl); // ServiceEndpoint hinzufügen (HTTP) WSHttpBinding lBinding = new WSHttpBinding(); lServiceHost.AddServiceEndpoint(typeof(service.clientservice.IClientService), lBinding, ""); //Enable metadata exchange ServiceMetadataBehavior smb = new ServiceMetadataBehavior(); smb.HttpGetEnabled = true; lServiceHost.Description.Behaviors.Add(smb); lServiceHost.Open(); Console.WriteLine("Service is host at " + DateTime.Now.ToString()); Console.WriteLine("Host is running... Press <Enter> key to stop"); Console.ReadLine(); } Client: ClientService.ClientServiceClient lClient = new ClientService.ClientServiceClient(); lClient.Endpoint.Address = new System.ServiceModel.EndpointAddress("http://" + AppInfo.ServerIP + ":" + AppInfo.ServerPort + "/ERPTracker_Service/ClientService"); bool lbVerbindung = lClient.TestConnection();
  6. Danke, dann sollte ich das das wirklich mal ändern, aber welche Adresse würde man denn angeben, damit der WCF auf alle Adressen horcht, sodass man das nicht immer für jeden Server anpassen muss? Und wenn ich anstatt 0.0.0.0 die Ip des Servers angegeben habe, hat es auch nicht funktioniert, da muss ja dann noch irgendwas im Busch sein
  7. Im Loginfenster lass ich den User eine IP und einen Port eingeben und bau mir dann den Endpunkt zusammen ClientService.ClientServiceClient lClient = new ClientService.ClientServiceClient(); lClient.Endpoint.Address = new System.ServiceModel.EndpointAddress("http://" + AppInfo.ServerIP + ":" + AppInfo.ServerPort + "/ERPTracker_Service/ClientService"); Ich hatte sonst anstelle von 0.0.0.0 auch localhost, bzw. die Domain/IP meines Webservers, aber ich habe gelesen das 0.0.0.0 bedeutet das er dann auf alles hört was kommt und, da es nicht funktioniert hat, habe ich dann diese Adresse ausprobiert.
  8. Stimmt, da hab ich das close vergessen das würde unten noch dran kommen. Ne ich hab in der WPF eine ServiceReference erstellt und bau mir aber in nem Loginfenster den Endpunkt selbst zusammen, also je nachdem was der User für eine IP und einen Port eingibt, ich weiß ist bestimmt nicht die gelbe vom Ei, aber ich hab mich mit dem Proxy generieren sehr schwer getan und bin dann auf die ServiceReference umgestiegen. Wie gesagt, WCF war bis jetzt immer ein Buch mit sieben Siegeln für mich, bitte nachsichtig sein
  9. Hallo, danke schon mal für die Antwort Der Port ist auf dem Server freigegeben und ein Programmierfehler ist definitiv möglich, da das mein erster Gehversuch mit WCF ist, aber Versuch macht kluch Kann ich dir denn noch irgendwelche Informationen liefern? Was brauchst du? Ich hänge hier einmal den Code vom WCF an, ich habe ihn direkt programmseitig konfiguriert und nicht über die App.Config. Fehlt da vielleicht noch ein Endpoint zum Metadaten-Austausch? Wie gesagt auf dem lokalen System funktioniert es. static void Main(string[] args) { // Url erstellen (HTTP) Uri lUrl = new Uri("http://0.0.0.0:8090/ERPTracker_Service/ClientService"); // ServiceHost erstellen ServiceHost lServiceHost = new ServiceHost(typeof(service.clientservice.ClientService), lUrl); // ServiceEndpoint hinzufügen (HTTP) WSHttpBinding lBinding = new WSHttpBinding(); lServiceHost.AddServiceEndpoint(typeof(service.clientservice.IClientService), lBinding, ""); //Enable metadata exchange ServiceMetadataBehavior smb = new ServiceMetadataBehavior(); smb.HttpGetEnabled = true; lServiceHost.Description.Behaviors.Add(smb); lServiceHost.Open(); Console.WriteLine("Service is host at " + DateTime.Now.ToString()); Console.WriteLine("Host is running... Press <Enter> key to stop"); Console.ReadLine(); }
  10. Hallo Informatiker Kollegen, ich schreibe momentan eine WPF Anwendung die an einen WCF Service gekoppelt ist. Der WCF Service wird in einer Konsolenanwendung gehostet. Soweit alles gut, funktioniert auch auf dem Rechner (Server und Client auf dem selben Rechner). Ich möchte den Server nun aber Testweise auf meinen Webserver auslagern und den Client mit dem WCF auf dem Webserver verbinden. Ich benutze HTTP und habe den Endpoint vom WCF auf folgende URL angepasst http://0.0.0.0:8090/ERPTracker_Service/ClientService, damit ich ihn von außen erreichen kann. Funktioniert im localhost immer noch klasse. Wenn ich den Service jetzt allerdings auf dem Webserver schmeiße und versuche mich mittels Domain oder IP mit dem Service zu verbinden, funktioniert das nicht. Der Port ist freigegeben und wenn ich in der Browserzeile "http://IPVOMSERVER:8090/ERPTracker_Service/ClientService" eingebe, bekomme ich sogar eine Infoseite vom Service, kann sich da jemand erklären warum das mit dem Client nicht funktioniert? der Endpoint vom Client ist natürlich auch angepasst. Ich freu mich auf Antworten
  11. Grüßt euch, ich hab ein kleines Problem auf der Arbeit: Ich schreibe ein Tool das sowohl Quelltext, Textdateien als auch Exceldateien auslesen, es mit Regex bearbeiten und anschließend das Ergebnis in einer Exceldatei ausgeben soll. Das auslesen der Quelltexte und Textdateien funktioniert bereits, die Regexverwertung und die Excel ausgabe auch, aber beim einlesen aus Excel stoße ich auf ein Problem: Ich muss "alle" Daten aus der Datei auslesen, aber ich kann immer nur auf einzelne Zellen zugreifen in dem ich sie z.B. über A1, 1 anspreche z.B. (Range lRange = lWorksheet.get_Range("A" + i.ToString(), 1) das machte es mir aber unmöglich alle Daten auszulesen, da es ja auch eine Tabelle geben kann die bis zur Spalte XYZ reicht. Habt ihr eine Ahnung wie ich das Problem lösen kann, also quasi alle Einträge einer Excel-Datei hintereinander in einen String zu speichern? Ich danke euch

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...