[英]C# and MongoDB. Can't save completely Exception objects
我有一個帶有一些字符串屬性和一個“異常”屬性的類。 保存對象時,MongoDB中的所有字符串屬性都是正常的,但異常部分屬性是部分的。 只有屬性“_t”和“HResult”存在。
“Message”,“InnerException”,“StackTrace”等等發生了什么?
我可以將這樣的對象保存到MongoDB嗎?
我班的一塊:
public class TraceLogEntity: MongoRepository.Entity {
public string ClassName {
get;
set;
}
public Exception Exception {
get;
set;
}
public string MethodName {
get;
set;
}
}
MongoDB上的一塊對象:
{
"_id": ObjectId("55560138c57b9957202cae5a"),
"CreatedAt": ISODate("2015-05-05T03:00:00Z"),
"UserLogin": "UserLogin 3",
"ClassName": "ClassName 3",
"Exception": {
"_t": "LogException",
"HelpLink": null,
"Source": null,
"HResult": -2146233088
},
"MethodName": "MethodName 3"
}
我正在使用MongoRepository: https : //github.com/RobThree/MongoRepository
提前致謝!!
.NET Exception類未標記為Serializable。 這可能會影響您在MongoDB中獲取Message,InnerException等的能力。 MongoRepository使用的JSON庫無法從類中獲取這些屬性。
我要做的是將這些字段添加到TraceLogEntity類而不是使用Exception對象。 所以它看起來像:
public class TraceLogEntity : MongoRepository.Entity
{
public string ClassName { get; set; }
public string Message { get; set; }
public string StackTrace { get; set; }
public TraceLogEntity InnerException { get; set; }
public string MethodName { get; set; }
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.