Укажите путь, по которому GridWeb хранит временные файлы.
про файловый кеш
Когда режим сеанса GridWeb — ViewState, он сохраняет свои временные файлы сеанса в базовом каталоге приложения. Иногда хранить там временные файлы сеансов недопустимо, поскольку базовый каталог приложений может не иметь прав на запись в него. В таких случаях GridWeb выдает такое исключение
[UnauthorizedAccessException: Access to
the path 'D:</span>inetpub</span>wwwroot</span>AsposeExcelTest</span>gwb_tempGridWeb1' is denied.]
Решение вышеуказанной проблемы состоит в том, чтобы предоставить доступ на запись к базовому каталогу приложений или изменить путь к временным файлам сеанса GridWeb, имеющим доступ на запись, с помощью свойства GridWeb.SessionStorePath. Этот путь должен относиться к базовому каталогу приложений.
Укажите путь, по которому GridWeb хранит временные файлы сеансов.
В следующем примере кода указывается путь, по которому GridWeb хранит временные файлы сеансов.
о кэше картинок
когда на листе есть фигуры/изображения, GridWeb сохранит все фигуры/изображения в пути кэша.
путь к кешу по умолчаниюSystem.Web.HttpContext.Current.Server.MapPath("/acwcache")
также мы можем использоватьGridWeb.PictureCachePath чтобы установить этот путь на определенный путь.
когда мы открываем страницу, GridWeb разрешает URL-адрес изображения запроса и получает поток изображения из кеша по идентификатору URL-адреса.
например, если адрес вашей страницыhttp://ip/mygridwebapp/test.aspx
URL-адрес запроса изображения, сгенерированный GridWeb, будет http://ip/mygridwebapp/test.aspx/acw_image/imageid.
иногда формы/изображения не загружаются при использованииДружественный URL.
вам нужно проверить запрос URL-адреса изображения.
обычный запрос изображения должен выглядеть так:http://ip/mygridwebapp/test.aspx/acw_image/imageid
но ваш запрос выглядит так: http://ip/mygridwebapp/test/acw_image/imageid
если вы используете FriendlyUrl, вам необходимо отфильтровать запрос URL-адреса изображения для GridWeb.
таким образом, управляющий сервер 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() });
}
}