【发布时间】:2012-02-28 23:12:51
【问题描述】:
我读到要让 umbraco 在应用程序启动时运行我的代码,我需要从 umbraco.Global 继承并覆盖 Application_Start。我已经使用以下简单代码完成了此操作,该代码位于 umbraco 网站项目引用的它自己的程序集中,以及它的 bin 文件夹中。
public class AtomicF1Global : umbraco.Global
{
protected override void Application_Start(object sender, EventArgs e)
{
base.Application_Start(sender, e);
new WindsorStarter().Start();
throw new Exception("Reached Custom Global");
}
}
那里的异常纯粹是为了向我证明它没有被调用。
据我所知,我需要做的就是我已经完成的事情。我不需要在任何地方更新 umbraco 表(就像对 umbraco 进行许多不同修改时的情况一样)。
但是,我的代码从未被调用,我也无法找出原因。我需要在某处注册吗?
我还检查以确保 bin 目录中不存在“App_Global.asax.dll”。
我还尝试在 umbraco 站点项目中创建一个 Global.asax,如下所示:
<%@ Application Language="C#" Inherits="umbraco.Global" %>
<%@ Import Namespace="atomicf1.domain" %>
<script runat="server">
void Application_Start(object sender, EventArgs e)
{
// Call Global base class first
base.Application_Start(sender, e);
// Code that runs on application startup
new WindsorStarter().Start();
throw new Exception("Reached Custom Global");
}
</script>
umbraco 的版本是 4.7.1 (.NET 4.0)。
【问题讨论】:
-
您找到解决方案了吗?