无法解析PreApplicationStartMethod

时间:2016-09-22 09:41:50

标签: c# asp.net webforms unity-container

我正在尝试在Web应用程序中使用Unity.Webforms但没有成功。根据文档,我在AssemblyInfo.cs中添加以下行来告诉运行时在应用程序启动之前调用方法:

[assembly: PreApplicationStartMethod(typeof(Unity.WebForms.PreApplicationStart), "PreStart")]

我得到的错误说:

  

程序集上的PreApplicationStartMethodAttribute指定的方法无法解析

这是持有该方法的类(在App_Start文件夹中):

using Microsoft.Web.Infrastructure.DynamicModuleHelper;
using System;
using System.Collections.Generic;
using System.Web;

namespace Unity.WebForms
{
    public static class PreApplicationStart
    {
        private static bool _isStarting;

        public static void PreStart()
        {
            if (!_isStarting)
            {
                _isStarting = true;
                DynamicModuleUtility.RegisterModule(typeof(UnityHttpModule));
            }
        }
    }
}

我有什么遗漏或误解吗?

由于

1 个答案:

答案 0 :(得分:0)

使用PreApplicationStart更改自定义文件中的Unity.Webforms命名空间,因为此命名空间已存在。

我的解决方案,有效:

using Microsoft.Web.Infrastructure.DynamicModuleHelper;

namespace TestApp.WebUi
{
    public static class PreApplicationStart
    {
        private static bool _isStarting;

        public static void PreStart()
        {
            if (!_isStarting)
            {
                _isStarting = true;
                DynamicModuleUtility.RegisterModule(typeof(UnityHttpModule));
            }
        }
    }
}

[assembly: PreApplicationStartMethod(typeof(TestApp.WebUi.PreApplicationStart), "PreStart")]