2011-09-02 16 views

答えて

2

応答ストリームにビットマップを書き込むhttpハンドラを作成します。

ハンドラ自体にリンクを追加しますhttp://www.dotnetperls.com/ashx

ファイルシステムにファイルを書き込むことができる場合は、何らかの形の命名規則を使用して、それを繰り返し生成しないようにします。あなたはそれがファイルに書き込まれている場合は

あなたはcontext.Response.WriteFile(path);

あなたは[OK]をする必要があり、以下のようなものを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"; 

はあなたがキャッシュを心配いけない新鮮たびに生成する必要がある場合

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

(前ヌルチェックを行う)着信要求にこれらのヘッダをチェックし、のようなもので304を返すことができますし、 context.Response.OutputStreamにあなたのiamgeを書いてください。

関連する問題