我想添加自定義屬性,它是一個GUID,但它給我這個錯誤:使用uniqueidentifiers /的GUID在log4net的自定義屬性
System.InvalidCastException: Failed to convert parameter value from a String to a Guid. ---> System.InvalidCastException: Invalid cast from 'System.String' to 'System.Guid'.
我在config指定此:
<parameter>
<parameterName value="@id" />
<dbType value="Guid" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%X{id}" />
</layout>
</parameter>
的實際代碼(段),我用的是這個:
Guid guid = Guid.NewGuid();
if (defaultLogger.IsEnabledFor(level))
{
var loggingEvent = new LoggingEvent(ThisDeclaringType,
defaultLogger.Repository, defaultLogger.Name, level, message, exception);
loggingEvent.Properties["Id"] = guid;
任何幫助嗎? :)數據庫中的id字段被定義爲uniqueidentifier NOT NULL,但它沒有主鍵約束。
爲什麼你想要一個GUID?這是否提供某種上下文? – 2009-01-08 13:02:04