2

SQLiteで一括挿入を行うASHXがあります。このページは2秒間読み込まれます+/-

I / O作業中にASP.NETスレッドを保持しないように、非同期Httpハンドラーを使用して実装することをお勧めします。

IHttpHandlerをIHttpAsyncHandlerに変えるために、これを実行しました。正しいですか?

-ASHXで実装するインターフェイスをIHttpAsyncHandlerに変更しました

-この変数とコンストラクターを追加します。

readonly Action<HttpContext> process;

public ClassConstructor()
{
    process = ProcessRequest;
}

-2つのIHttpAsyncHandlerメソッドを実装しました:

public IAsyncResult BeginProcessRequest(HttpContext context, AsyncCallback cb, object extraData)
{
    return process.BeginInvoke(context, cb, extraData);
}

public void EndProcessRequest(IAsyncResult result)
{
    process.EndInvoke(result);
}

私の主な疑問は、元のProcessRequestを維持し、それをアクションで呼び出す必要があるかどうかです。また、ProcessRequest内でcontext.Responseを使用しても問題がない場合、またはこの作業はEndProcessRequestで実行する必要があります

4

0 に答える 0