none
Duvidas - Atributo Decorativo RRS feed

  • Pergunta

  • Pessoal, boa tarde.

           Estou analisando uma aplicação em ASP MVC e fiquei com um pouco de duvida em uma classe, segue o código abaixo.

    using System.Linq;
    using System.Web.Mvc;
    using Microsoft.Practices.Unity.Mvc;
    
    [assembly: WebActivatorEx.PreApplicationStartMethod(typeof(StorageControl.Web.App_Start.UnityWebActivator), "Start")]
    [assembly: WebActivatorEx.ApplicationShutdownMethod(typeof(StorageControl.Web.App_Start.UnityWebActivator), "Shutdown")]
    
    namespace StorageControl.Web.App_Start
    {
        /// <summary>Provides the bootstrapping for integrating Unity with ASP.NET MVC.</summary>
        public static class UnityWebActivator
        {
            /// <summary>Integrates Unity when the application starts.</summary>
            public static void Start() 
            {
                var container = UnityConfig.GetConfiguredContainer();
    
                FilterProviders.Providers.Remove(FilterProviders.Providers.OfType<FilterAttributeFilterProvider>().First());
                FilterProviders.Providers.Add(new UnityFilterAttributeFilterProvider(container));
    
                DependencyResolver.SetResolver(new UnityDependencyResolver(container));
    
                // TODO: Uncomment if you want to use PerRequestLifetimeManager
                // Microsoft.Web.Infrastructure.DynamicModuleHelper.DynamicModuleUtility.RegisterModule(typeof(UnityPerRequestHttpModule));
            }
    
            /// <summary>Disposes the Unity container when the application is shut down.</summary>
            public static void Shutdown()
            {
                var container = UnityConfig.GetConfiguredContainer();
                container.Dispose();
            }
        }
    }
    A parte em negrito foi aonde surgiu a dúvida. Qual a finalidade do [assembly: ...]? e se possível encaminhar um link falando mais sobre o assunto. 

    terça-feira, 14 de março de 2017 19:09

Respostas

  • Olá, Emerson.

    PreApplicationStartMethod executa quando o ASP.NET runtime inicia o aplicativo, rodando o método especificado (no seu caso "Start") antes mesmo do app_start.

    O mesmo acontece com a declarativa ApplicationShutdownMethod, porem, quando é realizado o shutdown da aplicação.

    Att, Artur.

    quarta-feira, 15 de março de 2017 14:40