共享 Global.asax 和 Error.aspx 文件

2024-05-15

我的解决方案中有多个 ASP.NET 网站以及一个常见的 C# 代码项目。事情如下:

  • Website1
  • Website2
  • ...
  • 网站(n)
  • Common

首先,我想使用 Global.asax 文件来记录所有未处理的异常。我可以为每个网站拥有一个 Global.aspx 文件,但所有代码都是相同的,并且必须保持同一文件的多个副本最新似乎毫无意义。有没有办法将 Global.aspx 文件放在公共库中,然后从每个网站链接到它。我尝试过执行“添加退出项目”>“添加为链接”,但页面没有运行它。

其次,所有网站都需要一个错误页面,我可以向其中写入信息(不仅仅是一个简单的 html 页面),因此我有一个 Error.aspx 页面,我想将其与错误详细信息一起重定向到。同样,我可以每个网站都有一个,但它会是同一个页面。有没有办法可以将其存储在公共项目中并链接到它?到目前为止,我能想到的唯一解决方案是建立一个包含错误页面的错误网站。


您可以从基类继承 Global.asax 文件。所以你的 global.asax 可能看起来像这样:

<%@ Application Codebehind="Global.asax.cs" Inherits="MyApplication" Language="C#" %>

那么你的 Global.asax.cs 看起来像这样:

public class MyApplication: BaseApplication 
{
    protected void Application_Start()
    {
        // application specific code... if any
    }
}

在您的库中定义:

public class BaseApplication : System.Web.HttpApplication
{
    protected void Application_Start()
    {
        // do your shared code here
        base.Application_Start();
    }
}

就您的“全局”错误页面而言,我要做的是在每个网站上创建一个处理程序(.ashx)页面,然后创建一个库方法来显示您的错误信息。像这样的东西(Error.ashx)

<%@ WebHandler Language="C#" Class="errorhandler" %>

public class errorhandler: IHttpHandler {

    public void ProcessRequest (HttpContext context) {
        MyLibrary.ErrorHandler(context);
    }
}

注意:为了清楚起见,示例中未包含命名空间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

共享 Global.asax 和 Error.aspx 文件 的相关文章

  • 如何在浏览时检查客户端是否安装了 SQLNCLI10 提供程序?

    我有一个 C 网站 允许客户端从其 PC 直接连接到远程 SQL Server 数据库 通过使用第 3 方 ActiveX 控件绕过 Web 服务器 我最初使用的是SQLOLEDB提供商并且运行良好 客户端位于内部网络中 使用 Window
  • 为什么在调用 Asp.Net ListBox 自动回发方法时会调用不相关的(自动回发)方法?

    我确信这很简单 但它让我发疯 我的页面上有一个列表框来显示艺术家 当索引更改时它会调用一个方法 还有一个按钮 单击时会从另一个页面中的该列表中加载艺术家
  • 在 Asp.net MVC4 中访问 ViewBag 时出现 NullReferenceException

    我正在尝试访问ViewBag我认为的数据如下 span class small ViewBag BreadCrumb span 我正在发送那个ViewBag来自代码的数据 例如 ViewBag BreadCrumb topic Catego
  • 在运行时更改实体框架数据库架构

    在大多数 ASP NET 应用程序中 您可以通过在运行时修改连接字符串来更改数据库存储 即 我可以通过简单地更改连接字符串中 数据库 字段的值来从使用测试数据库更改为生产数据库 我正在尝试使用实体框架更改架构 但不一定是数据库本身 但没有成
  • 要实现 XML 可序列化,从 ICollection 继承的类型必须具有 Add 的实现

    我有来自现有项目的 CSLA 1 x 框架 对象 我试图在新的 Net 4 0 项目中使用它 这些对象正在生产中使用 如果没有 2 组对象 我确实无法将它们转换为 2 x 或 EF 在我的 c webservice 中 当我尝试运行它时 我
  • 大表的最佳主键格式

    我正在开发一个 ASP NET 应用程序 它有一些可能很大的数据表 我想知道定义主键的最佳方法是什么 我知道以前已经有人问过这个问题 但由于这是针对特定情况的 所以我认为这个问题是有效的 我在 SQL Server 2008 数据库上使用实
  • 如何防止用户生成的 Sql 查询上的 Sql 注入

    我有一个项目 私有的 ASP net 网站 受 https 密码保护 其中要求之一是用户能够输入直接查询数据库的 Sql 查询 我需要能够允许这些查询 同时防止它们对数据库本身造成损坏 以及访问或更新它们不应该访问 更新的数据 我制定了以下
  • ASP.NET 显示 SVN 修订号

    我在 Stack Overflow 页脚中看到显示了 SVN 修订号 这是自动化的吗 如果是的话 如何在 ASP NET 中实现它 其他语言的解决方案也是可以接受的 确保该文件有 svn keywords Rev Id 然后把 Rev 在那
  • 查询字符串模型绑定 ASP.NET WebApi

    我有以下型号 public class Dog public string NickName get set public int Color get set 我有以下通过 API 公开的 api 控制器方法 public class Do
  • 如何在2.0构建的应用程序中使用WCF wsHttpBinding服务?

    WCF 服务正在使用 wsHttpBinding 绑定运行 将使用 WCF 服务的应用程序不符合 WCF 或者换句话说 它位于 Framework 2 0 之上 我无法在此应用程序中使用 ServiceModel 因为只有 3 5 支持 S
  • 扩展授权属性

    我实施了 CustomAuthorization 属性基于 Authorize 属性 我的属性如下所示 public class CustomAuthorizeAttribute AuthorizeAttribute public eUse
  • 使用 '<%# Eval("item") %>';处理空值并显示 0

    如果数据项是Null我想展示0
  • 无法使用 System.Net.Mail.SmtpClient 将电子邮件发送到其他域

    请看下面的代码 client Credentials new NetworkCredential SMTP SERVER USERNAME SMTP SERVER PASSWORD client EnableSsl false client
  • 包含从代码隐藏 (ASP.NET C#) 到 ASPX 中的图像概述的图像列表 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Web请求编码问题

    您好 我遇到以下代码的编码问题 有什么想法吗 string url http www google com ig api weather istanbul TR hl tr HttpWebRequest request WebRequest
  • 将 aspx 文件加载到 xmldocument 中

    我希望能够将 aspx 页面加载到 XmlDocument 变量中 我怎么做 这是我尝试过的 它期望 xml 文件而不是 aspx 页面 有没有办法将aspx页面即时转换为xml文档并加载它 谢谢 string filePath C Web
  • 通过 JavaScript 单击按钮/页面提交

    我想了解 asp net 框架如何知道何时单击了按钮 因此一旦收到请求 就会在服务器上触发其单击事件 我需要了解它是如何工作的 因为我想从 JavaScript 触发按钮的服务器单击事件 我能够从 JavaScript 执行页面提交 doc
  • 异步代码无需等待完成

    我目前遇到 IIS 崩溃的问题 并在事件日志中留下以下消息 它们对于引导我找到错误的实际来源并没有太大帮助 但一些研究表明这只是生成任务但不等待结果的情况 当它们最终完成时 如果父进程已完成 则无法完成与导致空引用异常的父线程关联 那是对的
  • 从复选框列表中选择循环生成的复选框中的一个复选框

    抱歉我的英语不好 在我的 ASP NET 网站上 我从 SQL 表导入软件列表 看起来像这样 但实际上要长得多 Microsoft Application Error Reporting br br Microsoft Applicatio
  • ASP.NET 5 中的全局异常处理

    如何将自己的日志记录逻辑附加到 ASP NET 5 应用程序以处理业务逻辑和较低层中引发的每个异常 我尝试用自己的ILoggerProvider实施和loggerfactory AddProvider new LoggerProvider

随机推荐