2011-09-02 90 views
2
动态

生成的位图,我需要我的ASP.NET页面上创建一些框图。最好通过Bitmap来完成吗?如何显示这个动态生成的Bitmap对象?显示在ASP.NET页面

回答

2

创建位图写入响应流的HTTP处理程序。

继承人在处理程序本身http://www.dotnetperls.com/ashx的链接。

如果你能写一个文件到文件系统,使用某种形式的命名规则,让你不一遍又一遍产生了。

如果您有它写入一个文件,你可以写一个使用context.Response.WriteFile(path);

你需要来设置适当的响应头,如果你想cahce像下面的东西应该是确定的响应流。

 context.Response.Cache.SetCacheability(HttpCacheability.Public); 
     context.Response.Cache.SetLastModified(lastWrite); 
     context.Response.Cache.SetETag(string.Format("\"{0}\"", lastWrite.Ticks)); 
     context.Response.ContentType = "image/png"; 

您可以检查传入的请求这些头部和喜欢的东西返回一个304(之前做一个空检查)

if (context.Request.Headers[since] >= lastwrite || context.Request.Headers[eTag] >= lastwriteTicks) { 
      context.Response.StatusCode = 304; 
      context.Response.StatusDescription = "Not Modified"; 
      return; 
     } 

如果需要产生新的,每次不要担心缓存和只需将你的密码写入context.Response.OutputStream即可。