Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von mosspower
Thema: [Gelöst] - Encoding-Problematik bei HttpWebRequest an eine SOAP-Schnittstelle
Am im Forum: Web-Technologien

Ja, ich bekomme alles im Response-String.

Hier mal ein kleines Bild, über SOAP mit Attachments wie das aussieht.

Hier die Quelle

Moment, ich schicke euch mal gleich ein Original Response!

Thema: [Gelöst] - Encoding-Problematik bei HttpWebRequest an eine SOAP-Schnittstelle
Am im Forum: Web-Technologien

Als Stream liegen die Daten vor. Ich rufe einen SOAP-Service mittels HttpWebRequest auf und lese dann den gesamten Stream. Hier steht dann alles drinnen (Response-Envelope + Attachments).

Ich weiß nicht, wie der Stream codiert ist. Wie bekommt man das raus?
Bin mir ziemlich sicher, dass er ISO-8859-1 codiert ist.

Gruß

Thema: [Gelöst] - Encoding-Problematik bei HttpWebRequest an eine SOAP-Schnittstelle
Am im Forum: Web-Technologien

Hallo MarsStein,

ich bin mir nicht ganz sicher ob es am Encoding liegt, denn wie oben beschrieben geht es und dann wieder mal nicht. Ich bin hier völlig ratlos.

Es ist nichts spezifiziert, sondern es wird alles "ausprobiert". Wenn ich Encoding.Default sende oder ISO-8859-1, dann funzzt das mit den Umlauten, aber wie schon beschrieben, nicht bei allen, bzw. bei obigen Beispiel nicht - vielleicht sollte ich mich nicht so auf das Encoding konzentrieren, ggf. ist es was anderes.

Die Fehler sind halt "erste Sahne".

Ich muss lediglich die Attachments mit Latin-1 senden.

Ich habe schon ausprobiert, wenn ich vor dem absenden explizit in UTF-8 umwandele, dann komme ich zwar immer! durch, jedoch sehen dann bei den PDFs die Umlaute eben alle so komisch aus.

Git es eine Möglichkeit herauszufinden, wie ein Stream codiert ist? .. wahrscheinlich hier unterschiedlich. Das Result-Envelop wird UTF-8 sein und die Attachments sind Oktett.

Wenn es eine Möglichkeit geben würde, bei einem BinaryWriter vorher von UTF-8 zu ... ja, zu was eigentlich, zu konvertieren, dann sollte mein Problem auch gelöst sein. Leider finde ich da gerade überhaupt nix.

Gegenwärtig suche ich im Response die PDF-Start-Marker und schreibe alle Attachments mit dem BinaryWriter wech (ohne Format), dann klappt das auch, wie gesagt, nur dann nicht, wenn ich explizit mit UTF-8 den Server aufrufe.

Naja, der Kunde weiß bescheid, vielleicht schickt er mir mal ein paar Fehlermeldungen, aber Server Error 500 ist schon total krass.

Thema: [Gelöst] - Encoding-Problematik bei HttpWebRequest an eine SOAP-Schnittstelle
Am im Forum: Web-Technologien

Hallo "Kollegen",

ich habe aktuell ein verzwicktes Problem.
Ich schicke mittels HttpWebRequest an eine SOAP-Schnittstelle (ja, ich muss es leider so verwenden, kann kein WCF verwenden, da Java-spezifisch) einen Request, der neben dem Envelope noch aus Attachments besteht (diese müssen ISO-8859-1 sein).

Erst mal mein Problem:
Schicke ich Requests mit bestimmten Sonderzeichen, z.B. é, aber nicht die deutschen Umlaute oder ß, dann verhält sich der Server wie folgt:

Verwandele ich vorher explizit in UTF-8 um, dann steht im Antwortattachment ein komisches Zeichen, dass ich nicht mehr hinbekomme, z.B. aus Patané wird Patané.

Ich muss die Antwort, Type Oktett-Stream, als PDF speichern, hier mache ich einfach einen StreamWriter auf und schreibe die Bytes weg (ohne jegliche Codierung, denn mit so einer funzzt das bei keinem Aufruf).

Wenn ich mit Default-Decoding oder ISO-8859-1 schicke, was ich ohne weiteres bei Umlauten machen kann, dann bekomme ich einen Internal Server (500) Error.

Problem ist, dass sich die Firma, die diesen Service anbietet auch überhaupt nicht auskennt, da die den Service wiederum von einem Drittanbieter haben, da kommen dann genau solche "Witzfehler" zurück oder in einer ErrorCollection steht, dass ein Fehler passiert ist, nur auf Englisch ohne weitere Angaben - von der Firma kann ich also nichts erwarten.

Ich bin jetzt echt verzweifelt hier, da ich schon fast zwei Tage an diesem Phänomän rummache. Es sind nur solche Sonderzeichen, die ja immer mal wieder in Namen vorkommen, Umlaute und Eszett machen keine Probleme. (wenn ich Encoding Default oder ISO-8859-1 bei Umlauten + Eszett verwende dann funzzt es, bei UTF-8 verzieht es beim PDF auch die Buchstaben bei den Umlauten, bzw. beim Eszett).

Problem ist auch, dass ich eine Java-Applikation portiere und mit genau dieser funzzt es ohne dass irgendswelche Codierungen übergeben werden, wird dann alles innerhalb von Axis behandelt.

Hat jemand eine Idee, bzw. wie kann ich anders als oben beschrieben aus dem Response (bzw. Abschitt Attachment Oktettstream) ein PDF generieren?

Ich habe hier keine Antworten mehr. Für etwaige Antworten danke ich euch schon einmal im Voraus.

Thema: Position Icons Desktop nach Neustart
Am im Forum: Smalltalk

Hallo Trekki1990,

naja, auf meinem Desktop befinden sich seit Jahren max. drei Icons ... trotzdem ist es nervig, die drei Icons immer nach einem Neustart, bzw. nach Userwechsel, wieder auf die ursprünglichen Positionn zu schieben.

Das von Dir beschriebene Verhalten kenne ich auch, wenn ich eben nicht ordnungsgemäß runtergefahren habe, aber dies ist hier definitiv nicht der Fall.

Thema: Position Icons Desktop nach Neustart
Am im Forum: Smalltalk

Hallo "Kollegen",

kennt jemand vielleicht das total nervige Problem, dass immer nach einem Neustart oder Neuanmeldung die Icons auf dem Desktop linksbündig verschoben werden, obwohl Auto-Arange oder Line-To-Grid deaktiviert ist?

Weiß jemand, wo das gespeichert ist, da muss irgends was schief laufen und ist total nervig, weil man dann immer nach einem Neustart die Incons rumschieben muss

Ich habe auf meinem Notebook zwei Profile, die die gleichen Einstellungen haben und bei einem verhält es sich eben nicht so wie erwartet

Danke schon einmal für etwaige Antworten im Voraus.

Thema: Stream auslesen dauert sehr lange - schnellerer Weg?
Am im Forum: Netzwerktechnologien

Ja, ist ein einziger Response.

Zeit gestoppt einfach so ....


DateTime readStart = DateTime.Now;
readChars = stream.Read(buffer, 0, buffer.Length);
Console.WriteLine("Read 50000 bytes - took " + DateUtil.GetTimeSpanForNow(readStart));

Thema: Stream auslesen dauert sehr lange - schnellerer Weg?
Am im Forum: Netzwerktechnologien

OK, das bedeutet, wenn ich den Response abgeholt habe, dann ist lediglich der Request auf dem Server abgeschlossen? Die Antwort des Servers muss ich mir dann mittels des Auslesens des Streams holen. Würde ich das nicht machen, dann bleibt das ganze "Zeugs" noch auf dem Server rumliegen - eben bis zum eingestellten Timeout?

Wow, wenn das so ist, denn das habe ich nicht gewusst.

Hier noch mal ein paar Debugmeldungen. Es dauert oft 0 Millisekunden und dann wieder länger - Es liegt definitiv nicht an den Chunks, bzw. der Größe von diesen.

Start
---
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.2656284
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.5781324
Read 50000 bytes - took 00:00:00.1406268
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.3437544
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.2343780
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.0781260
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.1875024
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.1406268
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.1875024
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.1093764
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.0156252
Read 50000 bytes - took 00:00:00.1718772
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.0468756
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.1250016
Read 50000 bytes - took 00:00:00.0781260
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.0937512
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.1718772
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.1093764
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.0156252
Read 50000 bytes - took 00:00:00.2343780
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.2656284
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.1562520
Read 50000 bytes - took 00:00:00.6718836
Read 50000 bytes - took 00:00:00.7187592
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.2343780
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.0781260
Read 50000 bytes - took 00:00:00.1718772
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.1093764
Read 50000 bytes - took 00:00:00.0781260
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.0781260
Read 50000 bytes - took 00:00:00.0156252
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.0937512
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.1406268
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.0937512
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.0937512
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.1718772
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.1093764
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.1093764
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.1718772
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.1093764
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.0781260
Read 50000 bytes - took 00:00:00.1093764
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00.0781260
Read 50000 bytes - took 00:00:00
Read 50000 bytes - took 00:00:00
---
Duration total 00:00:07.3125936

Thema: Stream auslesen dauert sehr lange - schnellerer Weg?
Am im Forum: Netzwerktechnologien

Leider habe ich die Contentlänge nicht, die steht immer, komischerweise, auf -1.
Das mit dem mehr Auslesen als vorhanden ist, kann ich nicht bestätigen, da es auch beim chunkweisen Auslesen immer wieder Wartezeiten gibt, also wenn weniger ausgelesen wird in der obigen Schleife.

Ich nehme einmal an, dass es die Leitung ist, denn heute sind mir erstmalig zwei Extremwerte aufgefallen.

Eine Zeit lang dauerte es lediglich 800 Millisekunden, dann auch schon mal 36 Sekunden - da macht definitiv jemand die Leitung dicht.

Ich gehe mal schwer davon aus, dass es programmiertechnisch richtig implementiert ist - den Rest sollen die selber auskasperln.

Ich danke euch für eure Hilfe.

P.S. Kann mir jemand sagen, wie das technisch nach dem Anfordern des Responses, mit GetResponse, weiterläuft? Wo befindet sich der Stream? Auf meinem Rechner oder irdendswo auf dem Server, mit dem man ins Netz geht? Komisch ist nämlich, dass nämlich das das Lesen öfters länger dauert als der Aufruf. Bin ich da noch irgendwie mit dem Endpoint "verdrahtet", also dass ich beim Lesen von dort noch was hole? Das sollte doch schon abgeschlossen sein, wenn ich den ResponseStream habe. Naja, eigentlich sollte es doch genauso schnell gehen, wie wenn ich aus einem File lese, was ja auch, siehe 800 Milllisekunden, manchmal geht.

Thema: Stream auslesen dauert sehr lange - schnellerer Weg?
Am im Forum: Netzwerktechnologien

@dr4gOn76,

das Problem scheint bekannt zu sein, jedoch habe ich hierfür keine Lösung gefunden.

Klick!

Hier wird vorgeschlagen, das Proxy-Objekt auf null zu setzen - ich kann jetzt nicht sagen, dass es schneller geht.

Der hängt bei mir von 3 - 8 Sekunden drinnen. (für 4 PDF-Dokumente + Soap-Envelope mit nur ca. 300 KB :P)

Kann mich mal einer aufklären, wie das technisch abläuft? Ich dachte immer, nachdem ich den Response geholt habe, dass die Verbindung dann abgeschlossen ist und ich "nur noch" den Stream auslesen muss oder hängt das Auslesen des Streams noch irgendwie mit dem Endpoint zusammen?

Denn wie gesagt, ich habe hier eine langsame Leitung 2MB, aber der Aufruf ist es nicht, der solange dauert, sondern das Auslesen.

Auch der Vorschlag von kleines Eichhörnchen hat leider nichtst gebracht - trotzdem danke für den Vorschlag.

Mir fällt gerade auf, dass ich bei Sokets mit FTP das auch schon erlebt habe, dass das auslesen ewig dauert - kann ggf. an .NET liegen, denn mit z.B. FileZilla (C++-Programmierung) geht das ratz-fatz! - ist aber jetzt andere Baustelle.

Thema: Stream auslesen dauert sehr lange - schnellerer Weg?
Am im Forum: Netzwerktechnologien

Zitat von JAck30lena
könnte es sein ,das evtl im stream keine 50000 byte drinn sind und das er deswegen blockiert, da er noch nicht genug daten zum lesen hat?

Hallo JAck30lena,

nein, das habe ich gleich zu Beginn getestet - das fällt aus, denn er geht ein paar mal in den If-Zweig.

Gruß

Thema: Stream auslesen dauert sehr lange - schnellerer Weg?
Am im Forum: Netzwerktechnologien

Hallo MarsStein,

es handelt sich um einen Response-Stream von einem HttpWebResponse-Objekt.
Zuerst dachte ich, dass eben die Leitung zu langsam ist (was hier durchaus sein kann), jedoch dauert der Aufruf nicht so lange, sondern das lesen.

Ich denke, wenn die GetResponse abgeschlossen ist, dann ist das "Zeugs" im Stream auf dem Server, bzw. da wo eben das Programm läuft - und dann dauert eben das Lesen so lange.

Die Zeilen für den Aufruf ....


HttpWebResponse webResponse = null;

        try {
          webResponse = (HttpWebResponse)webRequest.GetResponse() ...


dauern nicht so lange, eben nur das Lesen aus dem Stream danach.

Thema: Stream auslesen dauert sehr lange - schnellerer Weg?
Am im Forum: Netzwerktechnologien

Hallo "Kollegen",

in dem Stream befinden sich "lediglich" 300 KB. Warum dauert das so lange?
Gibt es einen anderen, effizienteren Weg?

Hier der Quellcode:


private static byte[] ReadStream(Stream stream) {
      byte[] buffer = new byte[50000];
      byte[] streamContent = null;
      int readChars = int.MinValue;

      MemoryStream memoryStream = new MemoryStream();

      while(true) {
        DateTime starta = DateTime.Now;
        // !!! Hier dauert es ewig !!!
        readChars = stream.Read(buffer, 0, buffer.Length);
        // !!! End ewig !!!
        DateTime startb = DateTime.Now;

        if(readChars > 0) {
          memoryStream.Write(buffer, 0, readChars);
        }
        else {
          break;
        }
      }

      streamContent = memoryStream.ToArray();
      memoryStream.Close();
      stream.Close();

      return streamContent;
    }


Ich habe die Stelle gekennzeichnet - hier dauert es sehr lange (ca. 7 Sekunden). Ist das "normal" bei nur 300 KB?

Gruß und danke schon einmal für etwaige Antworten.

Thema: Exceptions in Thread (Pool) abfangen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Leider geht es auch nicht mit der AppDomain, wie teilweise auch in den Artikeln beschrieben. Es scheint so zu sein, dass es nicht in (Unter) Threads geht, sondern nur im Hauptthread wird das Event gefeuert.

Leider ist auch im Interface IAsynchResult der Callback-Methode nichts zu finden - ich finde das nicht schön, dass ein Programmierer da nicht mehr rankommt, gerade dann, wenn man ein Framework baut und ein Consumer das nicht richtig anwendet.

Nun, dann muss ich halt drauf verzichten.

Trotzdem, danke für Deine Bemühungen!

Thema: Exceptions in Thread (Pool) abfangen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo iced-t89,

das geht aber imo nur in Windows-Forms-Anwendungen, bzw. in meinem Fall wird das Ereignis nicht gefeuert, wenn ich das ausprobiere. Bei meinem Beispiel, hätte ich wohl dazuschreiben sollen, handelt es sich um Consolen- und Windows-Service-Anwendungen.

Gruß

Thema: Exceptions in Thread (Pool) abfangen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo "Kollegen",

gibt es eine Möglichkeit vom Hauptthread aus, unbehandelte Exceptions die in sog. Unterthreads aus dem Threadpool erstellt wurden, zu handeln?

Zwar habe ich Events vereinbart, die genutzt werden können, bzw. sollten in diesem Fall. Was ist aber, wenn sich jemand nicht dran hält, das würde ja bedeuten, dass, wenn ein Aufruf alle Sekunde stattfindet, z.B. ein Timer ruft eine Methode immer wieder auf, einen ganzen Tag jede Sekunde eine Exception geworfen wird, was nicht gerade performant wäre. Ich würde gerne bei unbehandelten Exceptions den Thread gar nicht mehr aufrufen, sondern als aborted markieren. Geht das irgendwie, dass ich an die Exception rankomme?

Danke schon einmal für etwaige Antworten im Voraus.

Thema: [gelöst] Formatierung bei Codegenerierung mittels XSLT
Am im Forum: Datentechnologien

OK, es gibt den Text-Tag, hier werden Formatierungen, z.B. Blanks übernommen und generiert, z.B. ...


<xsl:text>    public void Init() {&#xA;</xsl:text>
<xsl:text>      try {&#xA;</xsl:text>
<xsl:text>      }&#xA;</xsl:text>
<xsl:text>      catch(Exception ex) {&#xA;</xsl:text>
<xsl:text>        trow;&#xA;</xsl:text>
<xsl:text>      }&#xA;</xsl:text>
<xsl:text>    }&#xA;</xsl:text>

Thema: [gelöst] Formatierung bei Codegenerierung mittels XSLT
Am im Forum: Datentechnologien

OK, danke, werde mal sehen, wie ich das hinbekomme.

Thema: [gelöst] Formatierung bei Codegenerierung mittels XSLT
Am im Forum: Datentechnologien

Hallo Florian Reischl,

klar, das war nur ein Beispiel, da gehört natürlich text rein.

Meine Fragen bezogen sich auf den generierten Quellcode (hier C#-Datei).
Gibt es wirklich keine Methode hinterher, nachdem das File soz. auf der Platte liegt, eine Codeformatter drüberlaufen zu lassen?

Wenn ich zig Bedingungen und Schleifen in XSL programmiere, dann sieht das ja nicht sehr schön aus, wenn ich da schon acht geben muss, wie ich die Ausgaben zu formatieren habe.

Thema: [gelöst] Formatierung bei Codegenerierung mittels XSLT
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: XSL(T)

Hallo "Kollegen",

gibt es eine Möglichkeit, Ausgaben im XSLT-File zu formatieren?
Hier mal ein ganz kleines Beispiel:


<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.XPath;
using System.Xml.Xsl;
using System.Xml;

namespace <xsl:value-of select="//class-info/namespace" /> {
  class <xsl:value-of select="//class-info/class-name" /> {
    static void Main(string[] args) {
      Console.Write("Hello World");
    }
  }
}
  </xsl:template>
</xsl:stylesheet>

Jetzt ist das ja noch übersichtlich. Was aber, wenn zig Schleifen und Abfragen dazukommen, dann habe ich doch ein "Kraut-und-Rüben-C#-File".

Kennt sich da jemand aus, wie man das machen kann oder vielleicht gibt es ja auch die Möglichkeit, nach dem Generieren mit einem Formatter (über das Programm wohlgemerkt und nicht über die IDE) den Code zu formatieren? Also, was man eigentlich im Hintergrund via IDE mit dem Befehl Edit.FormatDocument macht?

Danke schon einmal für etwaige Antworten im Voraus.

Thema: Threadsafe Stored Procedures
Am im Forum: Datentechnologien

Danke erst mal für eure Antworten.

Gegenwärtig ist es so implementiert, dass die letzte ID inkrementiert wird und dann ein Update ausgeführt wird, so wie ashinger beschrieben.

Meine Frage lautet nun, wenn mehrere Threads gleichzeitig darauf zugreifen, ob es threadsafe ist, denn, bei z.B. zwei Threads können ja beide einen Select auf die Datenbank machen ohne das einer der beiden Threads schon beim Update war, also nach dem select wechselt der Thread und dann haben beide die aktuelle Zahl und bei beiden wird eins hochgezählt, was ja falsch ist, da dann beide die nächste Zahl haben.

Zumindest denke ich, dass es so ist. Wenn mir aber jemand sagt, dass man SPs synchronizieren kann (bzw. von Haus aus synchronisiert sind), dann wäre mir geholfen.

Ggf. müssten wir das dann auf autoincrement umstellen - damit sollten wir in der Tat keine Probleme haben.

Thema: Threadsafe Stored Procedures
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: SQL Server ≥ 2005

Hallo "Kollegen",

sind SPs threadsafe? Hintergrund ist, dass wir hier eine SP haben, die Sequences hochzählt, also IDs generiert, die gegenwärtig nur von einem Programm (also ein Thread) benutzt wird.

Ich wollte da jetzt mit Threads drübergehen und bin mir nicht sicher ob das gehen kann, denn ich gehe davon aus, dass verschiedene (intern im SQL-Server) Instanzen bei verschiedenen Zugriffen über Threads laufen - bin mir hier aber nicht sicher, deshalb die Frage hier.

Wie macht ihr das mit Sequences, wie es sie in Oracle gibt? Über Trigger?

Gruß und Danke schon einmal im Voraus für etwaige Antworten.

Thema: PDF Dokumente aus C# heraus drucken
Am im Forum: Office-Technologien

Ich möchte mal den Thread wieder öffnen, da ich aktuell das gleiche Problem habe. Ich würde gerne eine laufende Lösung mittels GPrint.exe mit einer API-Variante ersetzen.

Nun ist ja wieder eine Zeit lang vergangen - deshalb wollte ich hier mal nachfragen, ob es mittlerweile nicht andere Lösungen gibt?

Vielen Dank schon einmal im Voraus für eure Antworten

Thema: [gelöst] Monitor für SOAP-Messages
Am im Forum: Netzwerktechnologien

OK, ich habe es mit Fiddler hinbekommen - Thread gleich wieder closed.

Thema: [gelöst] Monitor für SOAP-Messages
Am im Forum: Netzwerktechnologien

Hallo,

ich suche nach einem Tool, indem ich SOAP-Messages (Response und Request) überwachen, bzw. überprüfen oder inspizieren möchte. Ich bin an den Inhalt interessiert, der auch wirklich übertragen wird (also SOAP-XML, Attachment-XML + Headers usw.).

Jetzt habe ich nach diversen Tools gesucht, mit denen ich das aber einfach nicht hinbekomme. Ich kann die einfach nicht konfigurieren.

Wichtig ist, dass ich die Aufrufe aus einer Anwendung machen möchte und nicht aus dem Tool heraus - das Tool soll mir nur die gewünschten Infos anzeigen, wenn eine Kommunikation stattfindet.

Ich habe einen WCF-Client und einen WCF-Server, beide auf verschiedenen Rechnern und die Kommunikation klappt wunderbar. Konfiguriert ist der Standard httpBasic.

Wie ist das jetzt technisch? Ich dachte immer, dass der Client über den Webport (also 80) an den Server sendet. Auf dem Server wird zum Zielport (hier 8000) geleitet, die einkommende Message wird auf die Objekte reflektiert und dann sendet generiert der Server einen Soap-Response-Message und sendet die widerum über den Webport (80). Ist das nicht so?

Weiß jemand, wie ich schnell an die Infos komme? Ggf. auch über APIs, die ggf. schon in WCF mit drinnen sind - ich stecke da leider nicht so tief drinnen.

Vielen Dank schon einmal für etwaige Antworten im voraus.

Thema: Mit plain SOAP-Messages auf Webservices zugreifen
Am im Forum: Web-Technologien

@chillimix,

genau das wollte ich ja machen und hatte es nicht hinbekommen.
Nun bin ich aber erst mal soweit, dass es mit einem WCF-Host klappt.

Für alle, die es interessiert, der Quellcode sieht so aus:


WebClient webClient = new WebClient();
String soap = File.ReadAllText(@"C:/soap-request.xml");
webClient.Headers.Add("Content-Type", "text/xml;charset=utf-8");
webClient.Headers.Add("SOAPAction", "http://tempuri.org/IContractor/SayHello");
String response = webClient.UploadString("http://localhost:8000/WCFTest", soap);

Also, bin ein bißchen weiter und habe heute auch noch gesehen, dass bei dem AXIS-SOAP-Service auch noch Attachments drinnen sind. Naja, ich hoffe, dass ich das irgendswie hinbekomme.

Hier noch das manuell erstellte Request-Envelope:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
   <soapenv:Header/>
   <soapenv:Body>
      <tem:SayHello>
         <tem:name>franconian_dude</tem:name>
      </tem:SayHello>
   </soapenv:Body>
</soapenv:Envelope>

Und das vom WCF-Host generierte Response-Envelope:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Header><ActivityId CorrelationId="7ab76409-1bb2-4431-bb89-fc7fbfafe639" xmlns="http://schemas.microsoft.com/2004/09/ServiceModel/Diagnostics">17e7a2d8-3562-4b6d-b22b-c58b7c30301a</ActivityId></s:Header>
    <s:Body>
      <SayHelloResponse xmlns="http://tempuri.org/"><SayHelloResult>Hello my friend, franconian_dude</SayHelloResult>
      </SayHelloResponse>
    </s:Body>
</s:Envelope>

Thema: Mit plain SOAP-Messages auf Webservices zugreifen
Am im Forum: Web-Technologien

Hallo,

ein Anbieter stellt einen Webservice zur Verfügung, den er komplett in Java programmiert hat. Wäre alles doll und gut, wenn er sich an Standards gehalten hätte.

Leider hat er Apache/Axis-Datentypen verwendet, die mittels .NET nicht aufgelöst werden können. Somit wurde ein Java-Client programmiert um das Teil schnell und dirty produktiv nutzen zu können.

Jetzt geht es an die Optimierung und dafür bin dann wohl ich zuständig

Wir haben (fast) alles mittels C# programmiert und optimal wäre es, wenn auch der Aufruf mittels einen C#-Programm gelingen könnte. Nun dachte ich, dass es doch eine Lösung geben muss, und zwar mit plain SOAP-Messages, denn der Client auf unterster Ebene schickt ja nur XML an den Server und der wieder XML zurück.

Imo muss es doch gehen, wenn der C#-Client eine fertige SOAP-Message an den Java-Server schickt und dieser schickt ja auch nur plain SOAP-Messages zurück. die dann eben auf einer anderen Ebene nicht auf die generierten Objekte reflektiert werden sollen, sondern soz. selbst ausgewertet werden.

Nun habe ich aber nichts im Web gefunden diesbezüglich. Auch bekomme ich es nicht einmal hin, ein "stink normalen WCF-Service" mittels SOAP-Messages aufzurufen.

Kann mir da jemand helfen, bzw. hat hier jewmand Links für mich zum Einlesen?

Danke schon mal für etwaige Antworten im Voraus.

Thema: [gelöst] Scrollproblem UserControl
Am im Forum: GUI: Windows-Forms

Zitat von jaensen
Hast du evtl. einen Schnipsel Code der das ganze reproduzierbar macht?
[EDIT]
Ah, o.k. dann scheints ja zu passen.

Naja, ich mache einfach das Panel leer (Clear) und füge das vorher instanzierte UserControl hinzu (Add). Wenn ich bei der vorherigen Anzeige gescrollt habe und die Eigenschaft Top des UserControls nicht auf 0 setze, dann zeigt er mir das Usercontrol zwar so an, wie zuletzt gesehen, jedoch passt die Scrollbar nicht mehr, weil die genau an dieser Stelle beginnt (was vorher aber z.B. in der Mitte war).

Ups, da habe ich nicht gleich Dein EDID gesehen

Thema: [gelöst] Scrollproblem UserControl
Am im Forum: GUI: Windows-Forms

Ich habe es hinbekommen. Problem war, dass, aus welchen Gründen auch immer, die Y-Position auf einem Minuswert war. Das bedeutet, wenn ich die Eigenschaft Top auf 0 setze, dann funktioniert es, denn dann passt die Scrollbarlänge wieder.

Jetzt ist aber noch das Problem, wenn ich die Anzeige so möchte, wie im Ausgangspost, was kann ich dann machen, dass die Scrollbar "die richtige Länge" hat und nicht anfängt bei dem Minuswert des Panelcontrols, was ja bedeutet, dass alles oberhalb von 0 nicht mehr angescrollt werden kann. Echt sehr komisches Problem.

Ich werde die jetzt immer auf 0 setzen und die vorherige Scrollposition zwischenspeichern und dann wieder ansteuern ... vielleicht nicht die sauberste Lösung, dafür die Schnellste. Also, mache ich den Thread gleich mal auf fixed.

@jaensen,
danke für Deine Hilfe!

Thema: [gelöst] Scrollproblem UserControl
Am im Forum: GUI: Windows-Forms

Hallo "Kollegen",

ich hoffe jemand kann mir helfen für ein sehr komisches Verhalten.

Ich habe ein Menu, wenn ich auf einen Eintrag klicke, dann wird ein UserControl instanziert und an einen Panel geadded. Panel hat autoscroll auf true gesetzt.

Das funzt auch alles wie gewünscht. Problem ist, dass wenn ich später nochmal auf den Menüeintrag klicke, dann möchte ich nicht eine neue Instanz verwenden, sondern die initial erstellte. Wenn ich aber im Fenster vorher an eine Stelle im UserControl gescrollt habe, dann zeigt der mir beim wieder Hinzufügen an das Panel die gleiche Stelle an, wie zuletzt sichtbar war. So, das Problem hier ist aber, dass die Scrollbar (vom Panel) hier bei 0, 0 steht, das bedeutet, ich kann nicht mehr nach oben scrollen.

Hat jemand eine Idee, wie ich das lösen kann. Mit den Eigenschaften ScrollXXX habe ich nichts erreicht. Problem ist halt, dass wenn z.B. beim initialen Laden die Scrollbar 1000 hoch ist, dann ist sie später, wenn gescrollt wurde, z.B. nur noch 500 hoch und ich kann, wie gesagt, nicht mehr nach oben scrollen, weil eben die Scrollbar genau an der letzten Ausstiegsstelle beginnt.

Ich hoffe, ich konnte es einigermaßen erklären und ihr habt es verstanden. Noch toller wäre, wenn jemanden dieses Verhalten bekannt ist und mir einen Lösungsvorschlag posten könnte.

Gruß und vielen Dank für etwaige Antworten schon einmal im Voraus.