我正在重新考虑使用处理程序(ashx)的一些代码来代替使用MVC FileStreamResult
。
代码返回json,但如果请求了jsonp,则将其包装在回调函数中。 (回调是一个字符串,类似于“jQuery1112077”等)
//existing
context.Response.AddHeader("Content-Type", "text/javascript");
if (format == "json")
{
context.Response.WriteFile(jsonFilePath);
}
if (format == "jsonp")
{
context.Response.Write(callback + "(");
context.Response.WriteFile(jsonFilePath);
context.Response.Write(")");
}
//MVC
if (format == "json")
{
Stream stream = new FileStream(jsonDocPath, FileMode.Open, FileAccess.Read);
FileStreamResult fs = new FileStreamResult(stream, "text/javascript");
return fs;
}
为jsonp案例预先添加和附加到输出流的最有效的“MVC”方法是什么。