我有一个 asp.Net MVC 4 项目。在我的项目中只呈现大报告(使用 table html 元素)所以我有一个考虑:我应该在运行时删除空格,就像我如何从 ASP.NET MVC 中删除空格一样# 输出? 或在我编写 html 代码时删除所有空格。这意味着我将在部署之前手动删除 Visual Studio 中的所有空格
大家帮帮我?
我有一个 asp.Net MVC 4 项目。在我的项目中只呈现大报告(使用 table html 元素)所以我有一个考虑:我应该在运行时删除空格,就像我如何从 ASP.NET MVC 中删除空格一样# 输出? 或在我编写 html 代码时删除所有空格。这意味着我将在部署之前手动删除 Visual Studio 中的所有空格
大家帮帮我?
如果运行时解决方案(在链接中描述)在生产中不会成为问题,我想您正在尝试获得答案,对吗?好吧,正如这里提到的:
String.Replace .NET Framework 的内存效率和性能
你应该做一些自己的基准测试。可以肯定的是,big report
为许多用户替换 a 的字符不会影响性能。
但我的建议是在运行时进行。在 AOP 过滤器中可能会更好。一次,当所有响应完成时(我正在做类似的功能替换一些字符串)。
public virtual void OnResultExecuted(ResultExecutedContext filterContext)
{
// Change result as needed
filterContext.HttpContext.Response.Filter =
new ResponseStream(filterContext.HttpContext.Response.Filter);
}
这是溪流
protected class ResponseStream : MemoryStream
{
readonly Stream _stream;
public ResponseStream(Stream stream)
{
_stream = stream;
}
public override void Write(byte[] buffer, int offset, int count)
{
//base.Write(buffer, offset, count);
string html = System.Text.Encoding.Default.GetString(buffer);
// TODO - here remove spaces...
byte[] outdata = System.Text.Encoding.Default.GetBytes(html);
//write bytes to stream
_stream.Write(outdata, 0, outdata.GetLength(0));
}
}
第二个想法,可能是在您的 IIS 上启用动态压缩(如果使用 IIS 7.0,请阅读http://technet.microsoft.com/en-us/library/cc753681%28v=ws.10%29.aspx)