visual studio sitio servidor requieren puede proyecto privilegios porque para net necesario modo iniciar habilitar este depurar depuración depuracion configurar configuracion conectar con compilacion cambie asp aplicaciones administrativos asp.net .net-4.5 app-startup

asp.net - studio - para habilitar la depuración de aplicaciones asp net es necesario



¿La carpeta App_Start en ASP 4.5 solo en proyectos de aplicaciones web? (4)

Aunque no hay nada especial en App_Start , pero puede hacer que los archivos en esta carpeta se ejecuten cuando la aplicación se inició como Application_Start dentro de Global.asax . Estoy usando el inyector de dependencia Ninject en mi proyecto que tiene la carpeta App_Start . No hay ningún archivo Global.asax en mi proyecto:

pero toda la configuración que he establecido en el archivo NinjectWebCommon se ejecutará al iniciar la aplicación. NinjectWebCommon tiene el siguiente contenido:

using WebFormNinject.Models; [assembly: WebActivator.PreApplicationStartMethod(typeof(WebFormNinject.App_Start.NinjectWebCommon), "Start")] [assembly: WebActivator.ApplicationShutdownMethodAttribute(typeof(WebFormNinject.App_Start.NinjectWebCommon), "Stop")] namespace WebFormNinject.App_Start { using System; using System.Web; using Microsoft.Web.Infrastructure.DynamicModuleHelper; using Ninject; using Ninject.Web.Common; public static class NinjectWebCommon { private static readonly Bootstrapper bootstrapper = new Bootstrapper(); /// <summary> /// Starts the application /// </summary> public static void Start() { DynamicModuleUtility.RegisterModule(typeof(OnePerRequestHttpModule)); DynamicModuleUtility.RegisterModule(typeof(NinjectHttpModule)); bootstrapper.Initialize(CreateKernel); } /// <summary> /// Stops the application. /// </summary> public static void Stop() { bootstrapper.ShutDown(); } /// <summary> /// Creates the kernel that will manage your application. /// </summary> /// <returns>The created kernel.</returns> private static IKernel CreateKernel() { var kernel = new StandardKernel(); kernel.Bind<Func<IKernel>>().ToMethod(ctx => () => new Bootstrapper().Kernel); kernel.Bind<IHttpModule>().To<HttpApplicationInitializationHttpModule>(); RegisterServices(kernel); return kernel; } /// <summary> /// Load your modules or register your services here! /// </summary> /// <param name="kernel">The kernel.</param> private static void RegisterServices(IKernel kernel) { kernel.Bind<IDisplay>().To<MockDisplay>(); } } }

Tenía curiosidad por dónde se ejecutará la función RegisterServices ! Entonces me di cuenta a esta sección de código:

[assembly: WebActivator.PreApplicationStartMethod(typeof(WebFormNinject.App_Start.NinjectWebCommon), "Start")] [assembly: WebActivator.ApplicationShutdownMethodAttribute(typeof(WebFormNinject.App_Start.NinjectWebCommon), "Stop")]

Estos atributos hacen que el método de Start se ejecute en la aplicación iniciada. Para obtener más información, consulte WebActivator / PreApplicationStartMethod

Tengo un proyecto de sitio web que he convertido a .NET 4.5 . Me gustaría usar el AuthConfig que he visto agregado al directorio App_Start . Un par de preguntas.

¿Está el directorio App_Start solo disponible para proyectos de aplicaciones web? Cuando intento agregar una carpeta asp.net existente, no la veo como una opción para agregar.

En segundo lugar, ¿puedo simplemente un archivo AuthConfig en cualquier lugar de mi proyecto de sitio web si ese es el caso?


La carpeta App_Start se introdujo como parte de las plantillas MVC4. No hay nada especial en ello que haga que el código se ejecute en él por convención. Por ejemplo, la plantilla HotTowel SPA crea lo siguiente en la carpeta App_Start:

El código en el App_Start se ejecuta por global.asax.cs como se muestra a continuación.

protected void Application_Start() { AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); AuthConfig.RegisterAuth(); }


No hay nada especial en App_Start, es solo una carpeta. Lo que es especial es cómo se usa, y eso es específico del marco de trabajo de WebActivator, que es un paquete de NuGet que puede instalar. App_Start y WebActivator no son específicos de .NET 4.5, pero requieren .net 4 (lo que significa VS 2010 o 2012)

Ver http://blog.davidebbo.com/2011/02/appstart-folder-convention-for-nuget.html