私はカスタムActionFilterAttribute
を書き、ASP.NET MVC 3の出力ストリームに直接データを書き込もうとしています。私が書いているデータは、書いた後にデータレンダリングビューの後に余分なデータがあります。私はOutputStream
を閉じようとしていますが、それでもまだ書いておくことができます。書き込みのためにこのストリームを閉じたり、HTMLレンダリングの後で無視するにはどうすればよいですか?HttpWebResponse出力ストリームが閉じない
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
var request = filterContext.RequestContext.HttpContext.Request;
var acceptTypes = request.AcceptTypes ?? new string[] {};
var response = filterContext.HttpContext.Response;
if (acceptTypes.Contains("application/json"))
{
response.ContentType = "application/json";
Serializer.Serialize(data, response.ContentType, response.OutputStream);
}
else if (acceptTypes.Contains("text/xml"))
{
response.ContentType = "text/xml";
Serializer.Serialize(data, response.ContentType, response.OutputStream);
}
response.OutputStream.Close();
}
、
UPDは、例えば、私のデータは{"Total": 42, "Now": 9000}
で、私の見解が応答でこの
<div>
<span>The data that shouldn't be here</span>
</div>
のようなものです私は
{"Total": 42, "Now": 9000}
<div>
<span>The data that shouldn't be here</span>
</div>
を取得し、それが有効なJSONではありませんご覧のように。私の目的はJSONまたはXMLのみを送信することです
応答を閉じるときにOutputStream – DenisPostu
@DenisPostuを試してください。要求を完了できません。 –
あなたは何を達成しようとしているのでしょうか? –