Especifique la ruta donde GridWeb almacena los archivos temporales
sobre caché de archivos
Cuando el modo de sesión de GridWeb es ViewState, almacena sus archivos de sesión temporales dentro del directorio base de la aplicación. A veces, no está bien almacenar archivos de sesión temporales allí porque es posible que el Directorio base de la aplicación no tenga permisos de escritura. En tales casos, GridWeb lanza tal excepción
[UnauthorizedAccessException: Access to
the path 'D:</span>inetpub</span>wwwroot</span>AsposeExcelTest</span>gwb_tempGridWeb1' is denied.]
La solución al problema anterior es otorgar acceso de escritura al directorio base de la aplicación o cambiar la ruta de los archivos de sesión temporales de GridWeb que tienen acceso de escritura mediante la propiedad GridWeb.SessionStorePath. Esta ruta debe ser relativa al directorio base de la aplicación.
Especifique la ruta donde GridWeb almacena los archivos de sesión temporales
El siguiente código de ejemplo especifica la ruta donde GridWeb almacena los archivos de sesión temporales.
sobre el caché de imágenes
cuando hay formas/imágenes en la hoja de trabajo, GridWeb guardará todas las formas/imágenes en una ruta de caché
la ruta de caché predeterminada esSistema.Web.HttpContext.Current.Server.MapPath("/acwcache")
también podemos usarGridWeb.PictureCachePath para establecer esta ruta en una ruta específica.
cuando abrimos una página, GridWeb resolverá la URL de la imagen de solicitud y obtendrá la transmisión de la imagen del caché por la identificación de la URL.
por ejemplo, si la dirección de su página eshttp://ip/mygridwebapp/prueba.aspx
la URL de solicitud de imagen generada por GridWeb será http://ip/mygridwebapp/test.aspx/acw_image/imageid.
a veces las formas/imágenes no se cargan cuando usaURL amigable.
debe verificar la solicitud de URL de la imagen.
la solicitud de imagen normal será como:http://ip/mygridwebapp/test.aspx/acw_image/imageid
pero su solicitud es así:http://ip/mygridwebapp/test/acw_image/imageid
si usa FriendlyUrl, debe filtrar la solicitud de URL de imagen para GridWeb.
por lo tanto, el servidor de control de GridWeb puede obtener y resolver la solicitud y encontrar el flujo de imágenes desde la ruta de caché.
por ejemplo, asumimos que la URL de su página es esta:http://ip/mygridwebapp/test.aspx
entonces el siguiente código es una solución para solucionar este problema.
//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() });
}
}