Exemple #1
0
 internal ParseErrorFormatter(HttpParseException e, string fileName,
                              string sourceCode, int line, string message)
     : base(fileName, sourceCode, line)
 {
     _excep   = e;
     _message = message;
 }
 internal ParseErrorFormatter(HttpParseException e, string virtualPath, string sourceCode, int line, string message) : base(virtualPath, null, sourceCode, line)
 {
     this._adaptiveMiscContent = new StringCollection();
     this._excep   = e;
     this._message = HttpUtility.FormatPlainTextAsHtml(message);
     this._adaptiveMiscContent.Add(this._message);
 }
 internal ParseErrorFormatter(HttpParseException e, string virtualPath, string sourceCode, int line, string message) : base(virtualPath, null, sourceCode, line)
 {
     this._adaptiveMiscContent = new StringCollection();
     this._excep = e;
     this._message = HttpUtility.FormatPlainTextAsHtml(message);
     this._adaptiveMiscContent.Add(this._message);
 }
Exemple #4
0
		public void Constructor2_Deny_Unrestricted ()
		{
			HttpParseException e = new HttpParseException ("message", new Exception ());
			Assert.IsNull (e.FileName, "FileName");
			Assert.AreEqual (0, e.Line, "Line");
			Assert.IsNull (e.VirtualPath, "VirtualPath");
			Assert.AreEqual (1, e.ParserErrors.Count, "ParserErrors");
		}
 internal ParseErrorFormatter(HttpParseException e, string virtualPath,
     string sourceCode, int line, string message)
 : base(virtualPath, null /*physicalPath*/, sourceCode, line) {
     _excep = e;
     _message = HttpUtility.FormatPlainTextAsHtml(message);
     _adaptiveMiscContent.Add(_message);
 }
Exemple #6
0
		public void FixtureSetUp ()
		{
			hpe = new HttpParseException ();
		}
Exemple #7
0
        private static void LogHttpParseException(HttpParseException ex, HttpContext context, RouteData routeData, BaseController controller)
        {
            int httpCode = ex.GetHttpCode();
            string message = string.Empty;

            message = "Http Parse Exception " + httpCode
                + "  \n-Message: " + ex.Message
                + "  \n-Source: " + ex.Source
                + "  \n-VirtualPath: " + ex.VirtualPath
                + "  \n-FileName: " + ex.FileName + " (" + ex.Line + ")"
                + "  \n-Parser Error Count: " + ex.ParserErrors.Count;

            int counter = 0;
            foreach (ParserError item in ex.ParserErrors)
            {
                counter++;
                string errorText = item.VirtualPath + " (" + item.Line + ") " + item.ErrorText;
                message += "  \n-Parser Error [" + counter + "]: " + errorText;
            }

            message += "  \n-Parser Errors: " + ex.ParserErrors.ToString()
                + "  \n-WebEventCode: " + ex.WebEventCode
                + "  \n-ErrorCode: " + ex.ErrorCode
                + "  \n-TargetSiteName: " + ex.TargetSite.Name
                + "  \n-StackTrace: " + ex.StackTrace
                + " Html Message: " + ex.GetHtmlErrorMessage();

            LogException(message, ex, Models.SystemEventLevel.Error, context, routeData, controller);
        }
Exemple #8
0
 public static bool HandleHttpParseException(HttpParseException ex, bool clearError, HttpContext context, RouteData routeData, BaseController controller)
 {
     string rawUrl = context.Request.RawUrl;
     string url = context.Request.Url.ToString();
     if (Settings.AppLogSystemEventsToDb || Settings.AppLogSystemEventsToFile)
     {
         LogHttpParseException(ex, context, routeData, controller);
     }
     if (Settings.AppUseFriendlyErrorPages)
     {
         ShowErrorPage(ErrorPage.Error_HttpError, ex.GetHttpCode(), ex, clearError, context, controller);
         return true;
     }
     return false;
 }
        public void LoadControl_WithControlThrowingHttpParseException_LoadsErrorControlWithExceptionHavingControlPath()
        {
            // arrange
            var containerControl = new Mock<IContainerControl>();
            var exception = new HttpParseException();
            var errorControl = new Error();
            containerControl.Setup(tc => tc.LoadControl("~/Skins/OfMyChinnyChinChin/Controls/ViewPost.ascx")).Throws(exception);
            containerControl.Setup(tc => tc.LoadControl("~/Skins/_System/Controls/Error.ascx")).Returns(errorControl);
            var skin = new SkinConfig { TemplateFolder = "OfMyChinnyChinChin" };
            var skinControlLoader = new SkinControlLoader(containerControl.Object, skin);

            // act
            var control = skinControlLoader.LoadControl("ViewPost") as IErrorControl;

            // assert
            Assert.AreEqual("~/Skins/OfMyChinnyChinChin/Controls/ViewPost.ascx", control.Exception.ControlPath);
        }
        public void LoadControl_WithControlThrowingHttpParseException_LoadsErrorControlWithExceptionProperty()
        {
            // arrange
            var containerControl = new Mock<IContainerControl>();
            var exception = new HttpParseException();
            var userControl = new Mock<UserControl>();
            userControl.Stub(c => c.ID);
            var errorControl = userControl.As<IErrorControl>();
            userControl.Object.ID = "Foo.Bar";
            errorControl.Stub(c => c.Exception);
            containerControl.Setup(tc => tc.LoadControl("~/Skins/VsShirts/Controls/ViewPost.ascx")).Throws(exception);
            containerControl.Setup(tc => tc.LoadControl("~/Skins/_System/Controls/Error.ascx")).Returns((UserControl)errorControl.Object);
            var skin = new SkinConfig { TemplateFolder = "VsShirts" };
            var skinControlLoader = new SkinControlLoader(containerControl.Object, skin);

            // act
            var control = skinControlLoader.LoadControl("ViewPost") as IErrorControl;

            // assert
            Assert.AreEqual(exception, control.Exception.InnerException);
        }
 internal void Process()
 {
     this.AddBuildProviders(true);
     if (this._buildProviders.Count != 0)
     {
         BuildManager.ReportDirectoryCompilationProgress(this._vdir.VirtualPathObject);
         this.GetBuildResultDependencies();
         this.ProcessDependencies();
         ArrayList[] listArray = this._nonDependentBuckets;
         for (int i = 0; i < listArray.Length; i++)
         {
             ICollection buildProviders = listArray[i];
             if (!this.CompileNonDependentBuildProviders(buildProviders))
             {
                 break;
             }
         }
         if ((this._parserErrors != null) && (this._parserErrors.Count > 0))
         {
             HttpParseException exception = new HttpParseException(this._firstException.Message, this._firstException, this._firstException.VirtualPath, this._firstException.Source, this._firstException.Line);
             for (int j = 1; j < this._parserErrors.Count; j++)
             {
                 exception.ParserErrors.Add(this._parserErrors[j]);
             }
             throw exception;
         }
     }
 }
 private bool CompileNonDependentBuildProviders(ICollection buildProviders)
 {
     IDictionary dictionary = new Hashtable();
     ArrayList list = null;
     AssemblyBuilder builder = null;
     bool flag = false;
     foreach (System.Web.Compilation.BuildProvider provider in buildProviders)
     {
         ICollection is2;
         if (this.IsBuildProviderSkipable(provider))
         {
             continue;
         }
         if (!BuildManager.ThrowOnFirstParseError)
         {
             InternalBuildProvider provider2 = provider as InternalBuildProvider;
             if (provider2 != null)
             {
                 provider2.ThrowOnFirstParseError = false;
             }
         }
         CompilerType compilerTypeFromBuildProvider = null;
         try
         {
             compilerTypeFromBuildProvider = System.Web.Compilation.BuildProvider.GetCompilerTypeFromBuildProvider(provider);
         }
         catch (HttpParseException exception)
         {
             if (!this._ignoreProvidersWithErrors)
             {
                 flag = true;
                 if (this._firstException == null)
                 {
                     this._firstException = exception;
                 }
                 if (this._parserErrors == null)
                 {
                     this._parserErrors = new ParserErrorCollection();
                 }
                 this._parserErrors.AddRange(exception.ParserErrors);
             }
             continue;
         }
         catch
         {
             if (!this._ignoreProvidersWithErrors)
             {
                 throw;
             }
             continue;
         }
         AssemblyBuilder builder2 = builder;
         if (compilerTypeFromBuildProvider == null)
         {
             if (builder != null)
             {
                 goto Label_00E6;
             }
             if (list == null)
             {
                 list = new ArrayList();
             }
             list.Add(provider);
             continue;
         }
         builder2 = (AssemblyBuilder) dictionary[compilerTypeFromBuildProvider];
     Label_00E6:
         is2 = provider.GetGeneratedTypeNames();
         if (((builder2 == null) || builder2.IsBatchFull) || builder2.ContainsTypeNames(is2))
         {
             if (builder2 != null)
             {
                 this.CompileAssemblyBuilder(builder2);
             }
             AssemblyBuilder builder3 = compilerTypeFromBuildProvider.CreateAssemblyBuilder(this._compConfig, this._referencedAssemblies);
             dictionary[compilerTypeFromBuildProvider] = builder3;
             if ((builder == null) || (builder == builder2))
             {
                 builder = builder3;
             }
             builder2 = builder3;
         }
         builder2.AddTypeNames(is2);
         builder2.AddBuildProvider(provider);
     }
     if (flag)
     {
         return false;
     }
     if (list != null)
     {
         bool flag2 = builder == null;
         foreach (System.Web.Compilation.BuildProvider provider3 in list)
         {
             ICollection generatedTypeNames = provider3.GetGeneratedTypeNames();
             if (((builder == null) || builder.IsBatchFull) || builder.ContainsTypeNames(generatedTypeNames))
             {
                 if (builder != null)
                 {
                     this.CompileAssemblyBuilder(builder);
                 }
                 builder = CompilerType.GetDefaultAssemblyBuilder(this._compConfig, this._referencedAssemblies, this._vdir.VirtualPathObject, null);
                 flag2 = true;
             }
             builder.AddTypeNames(generatedTypeNames);
             builder.AddBuildProvider(provider3);
         }
         if (flag2)
         {
             this.CompileAssemblyBuilder(builder);
         }
     }
     foreach (AssemblyBuilder builder4 in dictionary.Values)
     {
         this.CompileAssemblyBuilder(builder4);
     }
     return true;
 }