如何访问文件外的Global.asax中声明的对象?

时间:2009-03-10 19:50:55

标签: c# asp.net .net-3.5

我在global.asax文件中声明了一个对象,如下所示。

<object Id="WFRuntime" RunAt="Server" Class="System.Workflow.Runtime.WorkflowRuntime" Scope="application">

虽然我能够在global.asax文件方法中访问此对象,但我无法在asp.net Web应用程序的其他地方使用它。我正在使用.net 3.5框架。

任何指示?

谢谢, Socratees。

1 个答案:

答案 0 :(得分:1)

首先,确保您的Global.asax文件具有代码隐藏

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

如果没有,请创建Global.asax.cs文件。如果您有Web站点而不是Web项目,则此必须位于App_Code目录中。它必须看起来像这样:

namespace YourSite {
    public class Global : HttpApplication {
        public System.Workflow.Runtime.WorkflowRuntime WFRuntime { get; set; }
    }
}

这应该使您的站点中的所有页面都可以引用((Global)Context.Application).WFRuntime。

或者,您可以将WFRuntime成员设置为静态,然后在整个站点中使用“Global.WFRuntime”。