次のことも検討できます。
- ルーティングに到達する前にこれらのイメージ ルートを処理するモジュールを作成する (Web.Config に登録)
- これらの画像を処理するために、独自のルート ハンドラーを作成します。
どちらもコントローラーとして書く必要をなくすことができます。これはよりクリーンだと思います。
独自のルート ハンドラーの非常に基本的な例 (メモリから)...
通常のルートとして登録します。
/* Register in routing */
routes.Add("MyImageHandler",
new Route("my-custom-url/{folder}/{filename}",
new ImageRouteHandler())
);
/* Your route handler */
public class ImageRouteHandler : IRouteHandler
{
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
string filename = requestContext.RouteData.Values["filename"] as string;
string folder = requestContext.RouteData.Values["folder"] as string;
string width = requestContext.HttpContext.Request.Params["w"] as string;
string height = requestContext.HttpContext.Request.Params["h"] as string;
// Look up the file and handle and return, etc...
}
}
これらが役立つことを願っています。拡張して達成する方法はたくさんあります:)