MVC行動的迴應,我有如下的HttpPost動作:讀取/修改與過濾器
[HttpPost]
public string GetPerson()
{
string output = GetPerson();
return output;
}
我返回XML作爲一個字符串。有沒有可能在actionfilter的OnResultExecuted或OnResultExecuting方法中讀取這個字符串?
MVC行動的迴應,我有如下的HttpPost動作:讀取/修改與過濾器
[HttpPost]
public string GetPerson()
{
string output = GetPerson();
return output;
}
我返回XML作爲一個字符串。有沒有可能在actionfilter的OnResultExecuted或OnResultExecuting方法中讀取這個字符串?
在這些actionfilters的每一個上,你都可以得到結果(一個ActionResult
對象)。
對於OnResultExecuted
可以從ResultExecutedContext.Result
財產
我下面增加了一個樣本得到它。
public class InterceptValueAttribute : ActionFilterAttribute
{
public override void OnResultExecuted(ResultExecutedContext filterContext)
{
var result = filterContext.Result as ContentResult;
var data = result.Content;
//use data as required
}
}
您可以在下面的操作中使用它。
[HttpPost]
[InterceptValue]
public string GetPerson()
{
string output = GetPerson();
return output;
}
是的您必須創建一個新屬性。你想達到什麼目的? –
@Mads ... thx爲你的幫助。我想記錄所有傳入和傳出。我可以看到請求,但不能讀取回復。 –
@OmerK我已經更新了我的答案以包含樣本。 – scartag