|
|
@ -212,6 +212,14 @@ namespace Apewer.Web |
|
|
|
// 已明确 Json 类型。
|
|
|
|
if (returnValue is Json json) |
|
|
|
{ |
|
|
|
var renderer = context.Options.JsonRenderer; |
|
|
|
if (renderer != null) |
|
|
|
{ |
|
|
|
renderer.Invoke(context, json); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
// 默认设置到 data 属性。
|
|
|
|
response.Data = json; |
|
|
|
return; |
|
|
|
} |
|
|
@ -233,7 +241,15 @@ namespace Apewer.Web |
|
|
|
// 类型未知,尝试 ToJson 方法。
|
|
|
|
if (returnValue is IToJson toJson) |
|
|
|
{ |
|
|
|
response.Data = toJson.ToJson(); |
|
|
|
var tojson = toJson.ToJson(); |
|
|
|
|
|
|
|
var renderer = context.Options.JsonRenderer; |
|
|
|
if (renderer != null) |
|
|
|
{ |
|
|
|
renderer.Invoke(context, tojson); |
|
|
|
return; |
|
|
|
} |
|
|
|
response.Data = tojson; |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
@ -690,7 +706,7 @@ namespace Apewer.Web |
|
|
|
} |
|
|
|
catch (Exception ex) |
|
|
|
{ |
|
|
|
Logger.Internals.Exception(model, ex); |
|
|
|
Logger.Internals.Exception(ex, model); |
|
|
|
} |
|
|
|
RuntimeUtility.Dispose(model); |
|
|
|
return; |
|
|
@ -703,7 +719,7 @@ namespace Apewer.Web |
|
|
|
} |
|
|
|
catch (Exception ex) |
|
|
|
{ |
|
|
|
Logger.Internals.Exception(result, ex); |
|
|
|
Logger.Internals.Exception(ex, result); |
|
|
|
} |
|
|
|
RuntimeUtility.Dispose(result); |
|
|
|
return; |
|
|
|