Frage

Ich versuche, eine WinForms-Anwendung in einer Citrix-Umgebung zu implementieren. Es wurde zuverlässig seit einiger Zeit auf anderen physischen und virtuellen Maschinen zu arbeiten, aber es versagt, nur dann, wenn die Anwendung auf einem Citrix Desktop ausgeführt werden.

Die Fehler sind in der Regel, wo wir haben Mixed-Typ-Daten als Zeichenfolge in einer Mehrzweck Einstellungen Tabelle in dem (SQL Server 2005) Datenbank, und sie dann zur Laufzeit in dem entsprechenden Typen umwandeln.

So zum Beispiel gibt es eine '1' auf der Datenbank in einer varchar (50) Spalte, in gelesen hat, und dann so etwas wie

dim myNumericVariable as integer = Cint(dr.Item(columnName))

(wobei dr die DataRow aus ADO.NET kommt).

Die Meldung in der ausgelösten Exception sagt:

Conversion from string "1" to type 'integer' is not valid

Diese Art von Fehler geschieht überall auf der Anwendung, sondern nur in der Citrix-Umgebung. In allen anderen Umgebungen läuft es gut, aber ich habe keine Ahnung, ob die Tatsache, dass es Citrix ist nur ein Zufall und es gibt einigen anderen zugrunde liegenden Grund.

Es ist ein VB.NET app, .NET 2.0, mit Strenge und Explicit sowohl für x86 kompiliert. Es funktioniert perfekt auf XP SP3, auch Windows 2003 Server x64.

Ich bin mit meinem Latein mit diesem Zweck - ich habe überall gesucht und fand keinen Hinweis darauf, warum ich dieses Verhalten zu sehen bin. Ich würde für Anregungen sehr dankbar. Wenn Sie mehr Informationen über die Umgebungen benötigen, oder die Art und Weise der App integriert ist, werde ich glücklich die Frage bearbeiten. Vielen Dank im Voraus ..

War es hilfreich?

Lösung

Es ist ein bekannte Fehler ; hoffentlich werden sie es beheben.

Andere Tipps

Ja, ich bin keine Fehler auf meinem 32-Bit-Vista Laptop zu sehen, entweder, es ist also schwer zu sagen.

Vielleicht könnten Sie versuchen Integer.Parse ()?

Dim yourVar as Integer = Integer.Parse(dr.Item("YourColName").toString())
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top