私の汎用ハンドラーでは、RestSharp を使用して非同期 HTTP POST を実行し、POST 要求が返されるのを待つ前に、ユーザーに HTML を表示します。次に、Http 応答が戻ってきたら、Javascript を挿入してメッセージを表示したいと思います。
var asyncHandle = client.ExecuteAsync(request, response =>
{
if (response.StatusCode == HttpStatusCode.OK)
{
//here I would like to display a notification to the user but the handler already returned processedHtml at this point
context.Response.Write(@"<script type='text/javascript'>
window.parent.$.gritter.add({
text: 'some message',
time: 20000,
sticky: false
});</script>");
}
});
//this line executes before waiting for response from async call
context.Response.Write(processedHtml);
問題は、その時点でライフサイクルが終了しているため、 context.Response.Write(@"<script ... ") が「オブジェクト参照がオブジェクトのインスタンスに設定されていません」を生成することです。非同期応答が戻ってきたときに JavaScript を挿入する他の方法はありますか?