ここで説明するハンドラーは、GrabzItスクリーンショットWebサービスからのコールバックを処理します。 このハンドラーのURLは、GrabzItに渡されます callBackURL
のパラメータ Save 方法。
ただし、この手法は、ハンドラーが Internet。
次のパラメーターは、GETパラメーターとしてハンドラーに渡されます。
GrabzItを除き、ハンドラーへのすべてのアクセスをブロックする場合は、これを使用します セキュリティ技術.
MVCプロジェクトにハンドラーを追加するには、コントローラーのSampleMVCプロジェクトに示されているように、コントローラーで次のシグネチャを持つメソッドを定義するだけです。 ASP.NETデモ.
次に、このメソッドのURLをGrabzItに渡します。これがHomeコントローラーにある場合、コールバックURLは次のようになります。 http://www.example.com/Home/Handler
public ActionResult Handler(string filename, string id, string message, string customId, string format, int targeterror) { GrabzItClient grabzItClient = GrabzItClient.Create("Sign in to view your Application Key", "Sign in to view your Application Secret")%>"); GrabzItFile file = grabzItClient.GetResult(id); file.Save(Server.MapPath("~/results/" + filename)); return null; }
コールバックハンドラを実装する最も簡単な方法は、汎用ハンドラを作成して、 GrabzIt.Handler
以下に示すようにクラスを作成し、実装します Process
方法。 このメソッドは、GrabzItサービスから渡された5つのパラメーターをキャプチャします。これには、 GetResult 方法。
次に、このメソッドはキャプチャを返します。 save結果ディレクトリ内のd。 ただし、 null
値はから返されます GetResult メソッドは、エラーが発生したことを示します。
public class OverridenHandler : GrabzIt.Handler { protected override void Process(HttpContext context, string filename, string id, string message, string customId, string format, bool targetError) { GrabzItClient grabzIt = GrabzItClient.Create("Sign in to view your Application Key", "Sign in to view your Application Secret")%>"); GrabzItFile file = grabzIt.GetResult(id); file.Save(context.Server.MapPath("~/results/" + filename)); } }
上記の手法では汎用ハンドラーを使用していますが、ASPXページを使用してコールバックを受け取り、キャプチャをダウンロードすることも簡単にできます。 これを行うには、独自のASPXページなどを作成してから、 クエリーstring 上記のパラメーター。 最も有用なパラメーターはidパラメーターです。これは、 GetResult
キャプチャをダウンロードする方法。