public RewriteContext(string virtualDirectory, bool rebaseClientPath) { ctx = HttpContext.Current; if (ctx == null) { return; } this.rebaseClientPath = rebaseClientPath; string newVirtualPath = WebUtils.GetVirtualDirectory(virtualDirectory); string currentFileDirectory = WebUtils.GetVirtualDirectory(ctx.Request.FilePath); // only switch path if necessary if (string.Compare(newVirtualPath, currentFileDirectory, true) != 0) { originalPath = ctx.Request.Url.PathAndQuery; string newPath = newVirtualPath + "currentcontext.dummy"; ctx.RewritePath(newPath, rebaseClientPath); #region Instrumentation if (log.IsDebugEnabled) { log.Debug("rewriting path from " + currentFileDirectory + " to " + newPath + " results in " + ctx.Request.FilePath); } #endregion } }