protected override void OnInit(EventArgs e) { if (DesignMode) { base.OnInit(e); return; } Translator.SetDefaultTranslatorPath(Page.Request.PhysicalApplicationPath); bool processed = false; MemoryStream mems; string cacheid = GetCacheId(); if (!UseHttpHandler) { if ((Page.Request.QueryString["renderImg"] != null) && (Page.Request.QueryString["renderImg"].ToString() == cacheid)) { long memssize = -1; if (Page.Cache[cacheid + "mimetype"] != null) { string mimetype = (string)Page.Cache[cacheid + "mimetype"]; if (Page.Cache[cacheid + "memstream"] != null) { mems = (MemoryStream)Page.Cache[cacheid + "memstream"]; try { memssize = mems.Length; Page.Response.ContentType = mimetype; mems.Seek(0, SeekOrigin.Begin); Page.Response.BinaryWrite(mems.ToArray()); Page.Response.End(); processed = true; } finally { mems.Dispose(); Page.Cache.Remove(cacheid + "memstream"); Page.Cache.Remove(cacheid + "mimetype"); } } } if (!processed) { mems = new MemoryStream(); using (mems) { string amessage = "No cached imaged to show"; if (memssize >= 0) { amessage = amessage + " ImageSize: " + memssize.ToString("##,##0") + " bytes"; } Bitmap abitmap = GraphicUtils.TextToBitmap(500, "No cached imaged to show", "Arial", 10); abitmap.Save(mems, ImageFormat.Gif); mems.Seek(0, SeekOrigin.Begin); Page.Response.ContentType = "image/gif"; Page.Response.BinaryWrite(mems.ToArray()); Page.Response.End(); } } } } base.OnInit(e); }