Verwenden von uniqueidentifiers / guids als benutzerdefinierte Eigenschaften in log4net

7

Ich versuche, eine benutzerdefinierte Eigenschaft hinzuzufügen, die eine GUID ist, aber es gibt mir diesen Fehler:

  

System.InvalidCastException: Fehler bei   Konvertiere den Parameterwert aus einem String   zu einem Guid. --- & gt;   System.InvalidCastException: Ungültig   Umwandlung von 'System.String' nach   'System.Guid'.

Ich spezifiziere dies in der config:

%Vor%

Der eigentliche Code (Snippet), den ich benutze, ist der:

%Vor%

Irgendwelche Hilfe bitte? :) Das ID-Feld in der Datenbank ist als UniqueIdentifier NOT NULL definiert, aber es hat nicht den Primärschlüssel contraint.

    
Per Hornshøj-Schierbeck 08.01.2009, 11:57
quelle

2 Antworten

22

Für Ihr Beispiel sollte folgendes funktionieren:

%Vor%

Wichtig ist, dass Sie @id in etwas anderes umbenennen, sonst erhalten Sie Null-Werte in der Datenbank, selbst wenn Sie versuchen, Zeichenfolgen einzufügen,

Und dann RawPropertyLayout zum Speichern verwenden, da Sie keine Konvertierung durchführen müssen.

    
Claus Thomsen 08.01.2009, 13:12
quelle
0

1. Laden Sie den Quellcode von log4.net herunter

2. Ändern Sie die Funktion FormatValue in der Datei log4net.Appender.AdoNetAppender.cs wie folgt:

%Vor%

Dann funktioniert es!

    
duguang 20.08.2014 09:16
quelle

Tags und Links