编译/预编译全球.asax

本文关键字:编译 asax | 更新日期: 2023-09-27 18:11:30

是否有方法编译或预编译全局的。Asax文件到DLL并在bin文件夹中使用它?

我在这个文件中有一个许可逻辑,其他文件将不会被我编译。

我还可以检查dll本身是否存在于bin文件夹中。

void Application_BeginRequest(object sender, EventArgs e)
    {
       //Application is allowed to run only on specific domains
       string[] safeDomains = new string[] { "localhost" };
       if(!((IList)safeDomains).Contains(Request.ServerVariables["SERVER_NAME"]))
       {
           Response.Write("Thisweb application is licensed to run only on: "
           + String.Join(", ", safeDomains));
           Response.End();
       }
    }

编译/预编译全球.asax

可以将代码与全局代码分开。通过在Application指令中指定Inherits属性来创建asax文件。现在您不必在Global中编写代码。asax文件。

<%@ Application Inherits="Company.LicensedApplication" %>

实际上,这是您在Global.asax中需要的唯一一行代码。相反,你需要一个单独的c#文件来为你的应用程序类编写代码:

namespace Company
{
    public class LicensedApplication : System.Web.HttpApplication
    {
        void Application_BeginRequest(object sender, EventArgs e)
        {
            // Check license here
        }
    }
}

现在您可以在bin文件夹中安装web应用程序和编译后的应用程序类。