GridWebが一時ファイルを保存するパスを指定する

ファイルキャッシュについて

GridWebが一時セッションファイルを保存するパスを指定する

以下のサンプルコードは、GridWebが一時セッションファイルを保存するパスを指定しています。

画像キャッシュについて

ワークシートに図形/画像がある場合、GridWebはすべての図形/画像をキャッシュパスに保存します

デフォルトのキャッシュパスはSystem.Web.HttpContext.Current.Server.MapPath("/acwcache")

また、GridWeb.PictureCachePathを使用して、このパスを特定のパスに設定することもできます。

ページを開くと、GridWebはリクエスト画像URLを解決し、URL IDによってキャッシュから画像ストリームを取得します。

たとえば、ページのアドレスがhttp://ip/mygridwebapp/test.aspxの場合

GridWebによって生成された画像リクエストURLはhttp://ip/mygridwebapp/test.aspx/acw_image/imageidになります。

時には、Friendly Urlを使用すると、図形/画像が読み込まれないことがあります。

画像URLのリクエストを確認する必要があります。

通常の画像リクエストは次のようになります:http://ip/mygridwebapp/test.aspx/acw_image/imageid

ただし、リクエストが次のようになる場合:http://ip/mygridwebapp/test/acw_image/imageid

FriendlyUrlを使用する場合、GridWebの画像URLのリクエストをフィルタリングする必要があります。

したがって、GridWebコントロールサーバーはリクエストを取得し、解決し、キャッシュパスから画像ストリームを見つけることができます。

たとえば、ページのURLが次のような場合:http://ip/mygridwebapp/test.aspx

次に、以下のコードはそのような問題を修正するための回避策です。

//write your custom url resolver:MyWebFormsFriendlyUrlResolver
public class MyWebFormsFriendlyUrlResolver : WebFormsFriendlyUrlResolver
{
public MyWebFormsFriendlyUrlResolver() { }

    public override string ConvertToFriendlyUrl(string path)
    {
        if (!string.IsNullOrEmpty(path))
        {//filter your GridWeb related page,here we use 'mygridwebapp' to identify as we assume your page is:http://ip/mygridwebapp/test.aspx
            if (path.ToLower().Contains("mygridwebapp"))
            { // Here the filter code
                return path;
            }
        }
        return base.ConvertToFriendlyUrl(path);
    }
}
//in RoutConfig.cs set the custom url resolver:MyWebFormsFriendlyUrlResolver
public static class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        var settings = new FriendlyUrlSettings();
        settings.AutoRedirectMode = RedirectMode.Permanent;
        routes.EnableFriendlyUrls(settings, new IFriendlyUrlResolver[] {
                             new MyWebFormsFriendlyUrlResolver() });
    }
}