Jump to content

Tician

Mitglieder
  • Gesamte Inhalte

    499
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    8

Alle erstellten Inhalte von Tician

  1. Tician

    Overcooked 2

    Heyho! Ich wollte wissen ob jemand Overcooked 2 spielt. Der erste lässt sich nur lokal Multiplayer spielen, der 2. ist über Steam auch Online spielbar. Overcooked ist ein super-lustiges, chaotisches und freundschaften-zerstörendes Co-Op Spiel, das man lieber nicht alleine und nur mit Kommunikationsmöglichkeit (voice) spielt. Meldet euch!
  2. Tician

    C# PowerShell Output lesen

    Exakt. Normalerweise benutz ich die EventArgs und die beinhalten auch meine Fehlermeldungen - was hier wohl nicht der Fall war, ich hatte nur geraten. Ich brauch irgendein Interface von meinem sender, hatte eben noch ein tolles Beispiel... und find es nicht mehr. Wie gesagt, ab hier sollte ich erstmal wieder alleine klar kommen @KeeperOfCoffeeDanke! ❤️
  3. Tician

    C# PowerShell Output lesen

    Edit: Mein Gedankengang war, dass ich keinen neuen Thread brauche, weil ps.Invoke ja schon einen neuen Thread erstellt. Jetzt hab ich trotzdem alles mal in einen neuen Thread verschoben und nun funktioniert es auch. Mein Error-Text stimmt zwar nicht, aber das sollte ich jetzt auch noch hinkriegen
  4. Tician

    C# PowerShell Output lesen

    Ich verzweifel. Ich hab aber auch keine AHnung wie man Multi-Threading debuggt. Auf jedenfall hab ich das hier und haufenweise Haltepunkte (weswegen ich zumindest weiß wo mein Programm sich verabschiedet: using (PowerShell ps = PowerShell.Create()) { ps.AddScript("Blabla"); ps.Streams.Error.DataAdded += Error_DataAdded; Collection<PSObject> psOutput = ps.Invoke(); } private void Error_DataAdded(object sender, DataAddedEventArgs e) { InvokeMethod(Convert.ToString(e)); } public void InvokeMethod(string text) { if (InvokeRequired) { this.Invoke(new Action<string>(InvokeMethod), new object[] { text }); //hier passiert nichts mehr return; } richTextBox1.AppendText("Bla "); } Meiner Meinung nach hab ich quasi genau das kopiert was auf stackoverflow stand und ich hab es auch in einem neuen Projekt ausprobiert, da funktioniert es, aber in meinem Projekt passiert ab 'this.Invoke(....)' gar nichts mehr. Ich hab es 5 Minuten laufen lassen bevor es mir zu blöd wurde. Die GUI ist zu dieser Zeit auch nicht ansprechbar (logisch, sie wartet eigentlich darauf dass mein ps.Invoke fertig ist - glaube ich). Ich seh im Debug-Modus das noch kurz der Balken für die Ereignisse 2-3 mal ausschlagen, dann ist tote Hose und mein Programm veravschiedet sich ins Nirvana... macht irgendwas und kommt nicht mehr zurück. Was mach ich nur falsch?
  5. Tician

    C# PowerShell Output lesen

    Die Anleitung ist irgendwie... unvollständig. Ich hab mir zwar ein wenig über Delegaten und auch Threads durchgelesen, aber ich fürchte es reicht nicht aus um zu verstehen was bei mir eigentlich falsch läuft und warum ich auch im Debug-Modus nicht weiter komme - und irgendwas gewaltig falsch mache und dabei die nächste Exception bekomme. Folgendes hab ich jetzt (auf wesentliches gekürzt): private delegate void InvokeDelegate(string text); using (PowerShell ps = PowerShell.Create()) { ps.Streams.Error.DataAdded += Error_DataAdded; ps.AddScript("..."); Collection<PSObject> psOutput = ps.Invoke(); //geht hier in das Ereignis } private void Error_DataAdded(object sender, DataAddedEventArgs e) { //richTextBox1.AppendText(Convert.ToString(e)); richTextBox1.BeginInvoke(new InvokeDelegate(InvokeMethod)); //Macht 'nichts' //InvokeMethod(Convert.ToString(e)); //InvokeDelegate(Convert.ToString(e)); } public void InvokeMethod(string text) { richTextBox1.AppendText("Bla "); } Was passiert: Sichtbar quasi nichts, die TextBox bleibt leer, der Code läuft ne ganze Weile bis er dann in 'Program.cs' bei folgendem hängen bleibt: Die Dinge die ich nicht verstehe: 'ps.Invoke()' wird in einem anderen Thread ausgeführt, weswegen ich trotz Haltepunkt (das Delegaten-Zeug auskommentiert) direkt die Exception bekomme. Gibt es in VS eine Möglichkeit auch hier irgendwie einen Haltepunkt für andere Threads zu setzen? Im Microsoft-Beispiel wird 'InvokeMethod()' direkt ausgeführt ohne vorher ein Objekt erstellt zu haben anhand dessen man die Methode aufrufen könnte. Ich hab alles versucht irgendwie noch meinen string-Parameter an den Delegaten ran zu packen, aber mir erschließt sich der Aufbau nicht. Ich hab hier nochmal ein Beispiel mit Parameter gefunden: https://www.codeproject.com/Articles/10311/What-s-up-with-BeginInvoke richTextBox1.BeginInvoke(new InvokeDelegate(InvokeMethod),new object[] { e }); Ich schätze also es müsste so aussehen, aber trotzdem läuft irgendwas gewaltig schief, er versucht New Form1() mit dem Parameter aufzurufen, deswegen hier nun die Ausnahme dass Form1 keinen Parameter vom Typ string mag. Aber warum es überhaupt dorthin geht statt zu 'InvokeMethod()' ... keine Ahnung. 😕
  6. Tician

    C# PowerShell Output lesen

    @KeeperOfCoffee richTextBox1 kennt kein Dispatcher 🤨 Im Microsoft-Doc steht "System.Windows.Threading", was es aber bei mir nicht gibt, ich hätte nur "System.Threading" anzubieten, das scheint es aber nicht zu sein. Muss ich da was hinzufügen?
  7. Tician

    C# PowerShell Output lesen

    OK, ich bin etwas weiter. Jetzt kriege ich Rückmeldung, kann sie aber nicht ausgeben weil mein Steuerelement (textBox) nicht im selben Thread wie mein PowerShell läuft. using (PowerShell ps = PowerShell.Create()) { ps.AddScript("$Session = New-PSSession") .AddParameter("ConfigurationName", "Microsoft.Exchange") .AddParameter("ConnectionUri", "https://outlook.office365.com/powershell-liveid/") .AddParameter("Credential", cred) .AddParameter("Authentication", "Basic") .AddParameter("AllowRedirection"); ps.AddScript("Import-PSSession $Session").AddParameter("DisableNameChecking"); ps.AddScript("Remove-PSSession $Session"); ps.Streams.Progress.DataAdded += Progress_DataAdded; ps.Streams.Error.DataAdded += Error_DataAdded; //rutscht hier rein ps.Streams.Information.DataAdded += Information_DataAdded; ps.Streams.Warning.DataAdded += Warning_DataAdded; Collection<PSObject> psOutput = ps.Invoke(); foreach(PSObject outputItem in psOutput) { if (outputItem != null) { richTextBox1.AppendText(outputItem.ToString()); } } } private void Error_DataAdded(object sender, DataAddedEventArgs e) { richTextBox1.AppendText(Convert.ToString(e)); //InvalidOperationException } "Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement richTextBox1 erfolgte von einem anderen Thread, für den es erstellt wurde" Ich verstehe warum ich das kriege, aber ich hab bisher kein solches Problem gehabt, mal schauen ob ich das irgendwie gelöst kriege... auch wenn ich keine Ahnung habe wie ich etwas zwischen Threads übergebe... oder so...
  8. Tician

    C# PowerShell Output lesen

    PowerShell direkt sieht so aus und funktioniert auch (Im Anhang). Ich erwarte nicht dass mir das so angezeigt wird, aber auch nicht... nichts. Ich glaub aber auch nicht dass sie Befehle momentan ausgeführt werden, der erste scheint durchzulaufen (ich weiß es nicht, ich rkieg ja keinen Output sondern nur einen Sprung in mein allgemeines Exception bei 'ps.Invoke()' mit einem der beiden oben beschriebenen Fehler.
  9. Tician

    C# PowerShell Output lesen

    Ich bin auch ein Powershell-Noob, aber ich hab denke ich verstanden was du meinst. Der neue Code sieht so aus: PSCredential cred = new PSCredential(mail,password); using (PowerShell ps = PowerShell.Create()) { //ps.Commands.AddScript("$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $cred -Authentication Basic -AllowRedirection"); ps.AddScript("$Session = New-PSSession") .AddParameter("ConfigurationName", "Microsoft.Exchange") .AddParameter("ConnectionUri", "https://outlook.office365.com/powershell-liveid/") .AddParameter("Credential", cred) .AddParameter("Authentication", "Basic") .AddParameter("AllowRedirection"); ps.AddCommand("Import-PSSession $Session")/*.AddParameter("$Session")*/.AddParameter("DisableNameChecking"); ps.AddCommand("Remove-PSSession").AddParameter("$Session"); ps.Streams.Progress.DataAdded += Progress_DataAdded; ps.Streams.Error.DataAdded += Error_DataAdded; ps.Streams.Information.DataAdded += Information_DataAdded; ps.Streams.Warning.DataAdded += Warning_DataAdded; Collection<PSObject> psOutput = ps.Invoke(); /*if (ps.Streams.Error.Count > 0) { }*/ foreach(PSObject outputItem in psOutput) { if (outputItem != null) { //richTextBox1.AppendText(outputItem.BaseObject.GetType().FullName); richTextBox1.AppendText(outputItem.ToString()); } } } Mein Problem: Bei den letzten 2 Commands krieg ich entweder ein "Kennt kein cmdlet 'Import-PSSession $Session'" oder "Kennt kein Parameter '$Session"' - ich hab keine Ahnung mit was ich meine Variable da ran hängen muss, der Command an sich wäre einfach nur "Import-PSSession $Session". Was ich auch nicht verstehe ist warum meine Ereignisse nicht ziehen, bzw ich immer noch keinen Output bekomme. Alles was passiert ist das das Programm immer in meinen großen Try/Catch geht und mir dort dann den Fehler ausgibt. Noch Ideen? 🤨 PS: Nach einigen weiteren Beispielen ist 'AddScript' sowieso totaler Schwachsinn, aber mit 'AddCommand' funktioniert es ja auch nicht. Dachte ich... ich bin verwirrt, mal schreiben Leute direkt den Befehl rein, mal verweise sie nur auf eine Datei...
  10. Tician

    C# PowerShell Output lesen

    Huhu, ich versuch verzweifelt in C# ein Programm zu basteln mit dem man Office 365 Benutzer verwalten kann. Über PowerShell selbst funktioniert das einwandfrei, aber in C# krieg ich einfach keine Rückmeldungen, nichts was ich auslesen könnte das mir sagt was falsch läuft. Code sieht quasi so aus: PSCredential cred = new PSCredential(mail,password); using (PowerShell ps = PowerShell.Create()) { ps.Commands.AddScript("$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $cred -Authentication Basic -AllowRedirection"); ps.Commands.AddScript("Import-PSSession $Session -DisableNameChecking"); ps.Commands.AddScript("Remove-PSSession $Session"); Collection<PSObject> psOutput = ps.Invoke(); ps.Streams.Progress.DataAdded += Progress_DataAdded; /*if (ps.Streams.Error.Count > 0) { }*/ foreach(PSObject outputItem in psOutput) { if (outputItem != null) { //richTextBox1.AppendText(outputItem.BaseObject.GetType().FullName); richTextBox1.AppendText(outputItem.ToString()); } } } Was genau passiert: - Programm läuft durch ohne Fehler - aber auch ohne irgendwelche Meldungen. Kein Output, keine Errors, nichts, die foreach-Schleife wird übersprungen weil nichts drin ist. Auch das versuchte Event (egal ob Streams.Warning, 'Progress' oder 'Information' triggert nicht. Was mir fehlt: - Der Output des PS-Scripts fehlt mir wie gesagt, aber ich tu mich verdammt schwer irgendwas nützliches im Internet zu finden - Das Objekt der Klasse PSCredential mit dem ich in C# die Benutzerdaten abfrage muss irgendwie in den Befehl als PS-Variable rein, auch hier konnte ich noch nicht raus finden wie ich das schreiben muss damit es funktioniert. Könnte mir da jemand helfen?
  11. <client> <endpoint address="http://UnserServer:8080/WorkflowInterface" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_Executor" contract="VExecutor.Executor" name="BasicHttpBinding_Executor" /> <endpoint address="http://UnserServer:8080/WorkflowInterface" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_Executor" contract="VExecutor.Executor" name="BasicHttpBinding_Executor1" /> </client> Nur ein AUsschnitt, aber es sagt alles, ich musste erstmal darauf kommen, dass das da drin steht. Ich hab die eine Zeile raus geschmissen und jetzt funktioniert es. Jetzt muss ich nur noch rausfinden wie Execute funktioniert... hinsenden ist nicht das Problem, aber ich seh keine FUnktion um die xml aufzufangen die zurück kommen sollte~
  12. Ich weiß nicht wie so eine Konfigurationsdatei aussehen soll. Ich hab viel XML-Zeug, aber wenn soapUI automatisiert anfragen ausführen kann nur mit der wsdl-datei, dann kann es doch nirgendwo anders stehen oder? In der WSDL steht hier ein einziges mal die Adresse die auch SoapUI automatisch als Endpoint benutzt: - <wsdl:service name="Executor"> - <wsdl:port name="BasicHttpBinding_Executor" binding="i0:BasicHttpBinding_Executor"> <soap:address location="http://UnserServer:8080/WorkflowInterface" /> </wsdl:port> </wsdl:service> Krieg ich die benannte Konfigurationsdatei auch irgendwie direkt vom server? Ich find keine Möglichkeit diese svcutil.exe irgendwie installiert zu bekommen~
  13. Dann stimmt ja doch alles. Ich hab es mal probiert (Die Execute-Methode) ohne dass ich etwas veränder, aber die Fehlermeldung dass es mehr als eine EndpointKonfiguration gibt bleibt. Der Hersteller bietet zwar die Schnittstellen an, aber es gibt weder eine Doku, noch eine Unterstützung dafür. Alles was ich habe ist diese Seite wenn ich meine Ziel-Adresse direkt in den Browser eingebe: Den Pfad zur WSDL hab ich ja als Connected Service hinzugefügt und hab ja auch die Klasse und alles zur Verfügung. Im Prinzip genau diesen Beispielcode als 3-Zeiler mit einer Execute-Methode drin.
  14. Wie bekomme ich das svcutil.exe? Der Ordner den Microsoft beschreibt existiert bei mir nicht.
  15. ServiceDing.ExecutorClient client = new ServiceDing.ExecutorClient(); client.Endpoint.Address = new System.ServiceModel.EndpointAddress(new Uri("http://unserServer:8080/WorkflowInterface")); client.ExecuteWithLog("Label:Print", serializedWorkItem); client.Close(); Ich versuch die Ziel-Adresse zu überschreiben, bekomme aber den Fehler dass mehr als eine Endpunktkonfiguration für diesen vertrag gefunden wurde. Was fehlt mir? Edit: Ich hab das hier gefunden: Ich muss den also schon beim erstellen des Object angeben, allerdings ist das ein String und ich hab keine Ahnung was mit dem ConfigurationName gemeint ist...
  16. Japp. Wie gesagt hab es jetzt als connected Service in mein Projekt eingefügt und auch ein Objekt erstellt das eine 'Execute'-Methode mit 2 Parametern hat die auch als Nodes in der XML vorhanden sind die ich via SoapUI an den Server schicke. Ich bin mir jetzt nur nicht ganz sicher wie es ohne die komplette XML aussehen muss. <wor:command>Label:Print</wor:command> scheint mir noch recht eindeutig zu sein, Parameter als string wäre vermutlich "Label:Print". Aber dann kommt eine Node mit mehreren 'Unter-Nodes' und ich bin mir nicht sicher wie das jetzt aussehen muss, die sieht nämlich etwa so aus: <wor:serializedWorkItem><![CDATA[<?xml version=""1.0""?> <workitem> <MehrZeug=""true""> <nochMehrZeug>blabla</nochMehrZeug> Theoretisch würde ich jetzt mal ausprobieren: Execute("Label:Print", "<![CDATA[<?xml version=....>")
  17. Das hätte so nie funktionieren können. Mein Kollege hat mir offenbart es gibt ein msdl (noch nie vorher gehört), das habe ich jetzt als Connected Service in meinem Projekt, aber da ich das das erste mal mache bin ich gerade etwas aufgeschmissen, ich hab keine Doku, weiß nicht was ich machen muss, hab grad verzweifelt gesucht wie die Klasse überhaupt heißt und ein Objekt davon erstellt, aber weiter komme ich nicht, mir werden keine Methoden für mein Objekt angezeigt die irgendwie Sinn machen.
  18. Ich bleib wohl bei text/xml^^ Ich weiß es ehrlich egsagt nich @D-eath es gibt keine Doku, alles was ich weiß ist wie die xml auszusehen hat die ich sende und Uri. Ich kann aber mal schauen ob ich es auf ein GET umgebogen krieg. Edit: Wohl nicht, das SoapUI schickt auch via POST
  19. Kein Proxy und auf dem Server haben wir zwar Logs gefunden für die 'korrekten' Anfragen, aber di ezeigen nichts wenn mein Programm auf einen Fehler rennt. Im Programm selbst wird auch in der Variable result nichts angezeogt außer 'Internal Server Error'. Ich bin eben mal mit Wireshark an die Sache ran und das gibt ein bisschen mehr Auskunft im Päckchen^^: Ich weiß ehrlich gesagt nicht was mit Action überhaupt gemeint ist...
  20. Hallöööchen mit 3 öchen, nach langer Zeit mal wieder ich^^ Ich versuche Text im xml-format an einen WebServer zu schicken. Nutze ich dafür SoapUI funktioniert alles einwandfrei und ich bekomme eine xml-Datei zurück. Versuche ich es in C# krieg ich entweder Fehlermeldungen an den Kopf geworfen oder... nichts. Nach langem rumprobieren mit dem veralteten WebRequest hab ich immer nur einen 'Internal Server-Error' zurück bekommen, also hab ich mich doch auf das neuere HttpClient eingelassen. Code sieht momentan so aus: static async Task<string> PostURI(Uri u, HttpContent c) { var response = string.Empty; using (var client = new HttpClient()) { HttpResponseMessage result = await client.PostAsync(u, c); if (result.IsSuccessStatusCode) { response = result.StatusCode.ToString(); } } return response; } //Aufgerufen: Uri u = new Uri("http://unserServer:8080/WorkflowInterface"); HttpContent c = new StringContent(xml, Encoding.UTF8, "text/xml"); var t = Task.Run(() => PostURI(u, c)); t.Wait(); MessageBox.Show(t.Result); Meine MessageBox von der ich hoffte dass sie mir testweise die xml-Antwort anzeigen würde ist komplett leer und nachdem ich gestern schon den ganzen Tag rumprobiert habe bin ich einfach nur durch, ich finde keine Lösungen. User und Passwort gibt es nicht. xml ist einfach nur eine string-variable. Ich hoffe dass mir jemand etwas unter die Arme greifen könnte. Tician Edit: OK, ich krieg nix zurück weil result nicht successful ist, es steht wieder 'Internal server Error' drin, mit dem kann ich einfach nichts anfangen
  21. Das sollte kein Problem sein, denn die Zustimmung zur Löschung nach Arbeitsbeendigung haben alle Mitarbeiter mit einer Unterschrift bestätigt. Hatte ich nicht zitiert ist aber auch Teil des Dokumentes. Dementsprechend haben wir die Zustimmung schon bei Arbeitsbeginn.
  22. Fall ist erstmal mit dem DSB geklärt, wir werden keine Vertretungen einrichten wenn ein Mitarbeiter das nicht will^^
  23. Ich bin noch am überlegen wie ich dieses 3-seitige Dokument hier zeigen kann... hier mal Ausschnitte: "Absender und Empfänger von privaten Emails sind allein für deren weitere Verwendung verantwortlich; sie entscheiden über Speicherung, Löschung und Weiterleitung im Rahmen der gesetzlichen und betrieblichen Regelungen" "Eine Unterscheidung von dienstlicher und privater Nutzung auf technischem Weg erfolgt nicht" "Durch die private Nutzung des Internetzugangs erklärt der Mitarbeitter seine Einwilligung in die Protokollierung und Kontrolle gemäß Ziffer 5 (Missbrauch, Vestoß gegen Gesetze, Vergündeter Verdacht,....) für den Bereich der privaten Nutzung. Insoweit stimmt er auch einer EInschränkung des Telekommunikationsgeheimnisses zu." Mehr relevante Zeilen für diesen Fall finde ich nicht.
  24. Moin, ich wollte mal einen Fall schildern und euch fragen was ihr dazu denkt: Bei uns haben Mitarbeiter ihre eigenen Mail-Adressen mit Firmendomäne und dürfen Telefon, Internet und Mail privat benutzen sofern sie damit einverstanden sind (jeder Mitarbeiter hat unterschrieben), dass dies Protokolliert werden KANN, von uns verwaltet wird und ehrlich gesagt finde ich den genauen Wortlaut nicht mehr, sind noch ein paar andere Klauseln dabei. Folgender Fall: Bisher haben Teamleiter immer Vertretungszugriffe bestimmt (Vertretungszugriff heißt, dass ein Mitarbeiter vollen Zugriff auf das Postfach eines anderen hat - zu jeder Zeit und auch in dessen Namen Mails schreiben kann). Dabei werden die betroffenen Mitarbeiter zur Info bei neuen Vertretungs-anforderungen über Mail informiert. Jetzt gibt es aber Mitarbeiter x der nicht möchte dass Mitarbeiter y auf 'sein' Postfach Zugriff hat. Was meint ihr wie die rechtliche Lage hier aussieht? Dürfen wir als Admins trotzdem den Vertretungszugriff einrichten?
  25. Moin, ich hab ein Consolen-Programm, das 2 mal am Tag automatisiert läuft und Daten verarbeitet. Jetzt ist das Programm in letzter Zeit recht häufig gegen die Wand gefahren (vom StreamWriter-Block in de Catch-Block) und ich hab festgestellt das Daten fehlen und bin gerade am Rätseln warum, meine Vermutung ist, dass meine Datei (oder deren INhalt) verschwinden wenn eine Exception geworfen wird. Hier mal die vereinfachte Form (unwichtiges ausgelassen): static void Main(string[] args) { try { string[] files = Directory.GetFiles(stringSource, stringFile); if (files.Length != 0) { using (StreamWriter sw = new StreamWriter("Track_901-903_" + date + ".csv")) { foreach (object datei in files) { //Zeugs using (StreamReader oReader = new StreamReader(name, Encoding.GetEncoding("ISO-8859-1"))) { doc.Load(oReader); XmlElement root = doc.DocumentElement; foreach (XmlNode node2 in list2) { if (node2["id"] != null) { sendid = node2["id"].InnerText; } } //Schreib irgendwas in dei Datei... } if (sendid == "") { File.Move(name, stringSource + "\\Clearing\\" + Path.GetFileNameWithoutExtension(name) + ".xml"); //Hier Beispiel, Exception weil Datei schon existiert!! } } } File.Move("Track_901-903_" + date + ".csv", destinationPath); } } catch(Exception ex) { using (StreamWriter writer = new StreamWriter("Programm-Name.log", true)) { writer.WriteLine(DateTime.Now.ToString() + " " + ex.Message); } } } Rein theoretisch (nach meiner Logik) müsste bei einer Exception im ausführenden Programm-Ordner (da wo die .exe liegt) eine Datei liegen, da ich keinen anderen Pfad angegeben habe. Ich bin schon in viele Exceptions gerannt (die oben habe ich schon vorzeitig abgefangen, dient mir aber hier als gutes Beispiel), aber ich habe dort noch nie eine Datei gefunden - verschoben sollte sie nur werden wenn der StreamWriter-Part komplett durchgelaufen ist. Hat jemand eine Idee was da schief läuft? Ich kann keine Informationen dazu finden was eigentlich genau passiert wenn das Programm den "using (StreamWriter...) {...}" Part wegen einer Exception verlässt.

Fachinformatiker.de, 2019 SE Internet Services

fidelogo_small.png

if_icon-6-mail-envelope-closed_314900.pnSchicken Sie uns eine Nachricht!

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

Fachinformatiker.de App


Get it on Google Play

Kontakt

Hier werben?
Oder senden Sie eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...

Wichtige Information

Fachinformatiker.de verwendet Cookies. Mehr dazu in unserer Datenschutzerklärung