0
Get APIメソッドの呼び出し時にBaseExceptionで作成されたプロパティ値を取得できません。どんな考え?WebApiは派生クラスで宣言された属性を例外からシリアル化できません
public class BaseException : Exception
{
public string ExType { get; set; }
public JObject Properties { get; set; }
public Guid ErrorCodeId { get; set; }
public BaseException(string message): base(message) { }
}
public class BadRequestException : BaseException
{
public BadRequestException(string message) : base(message) { }
}
// GET: api/<controller>
public virtual IHttpActionResult Get()
{
IHttpActionResult result = null;
try
{
throw new Exception("Error description here");
result = Ok();
}
catch (Exception ex)
{
result = ResponseMessage(Request.CreateResponse(HttpStatusCode.BadRequest, new BadRequestException(ex.Message)
{
ExType = "Any exception type"//Can't get this value in the output JSON
}));
}
return result;
}
ExType値が表示されていません。私が得た結果は次のとおりです。
{
"ClassName": "BadRequestException",
"Message": "Error description here",
"Data": null,
"InnerException": null,
"HelpURL": null,
"StackTraceString": null,
"RemoteStackTraceString": null,
"RemoteStackIndex": 0,
"ExceptionMethod": null,
"HResult": -2146233088,
"Source": null,
"WatsonBuckets": null
}
自分のプロパティの値を得る方法はありますか?