2010-05-24 7 views
4

Ребята, можно ли получить физический путь к приложению asp.net mvc 2 внутри методов Global.asax?Физический путь к применению в global.asax

UPD: извините, я забыл сказать, что мне нужно получить этот путь в конфигурации контейнера Ninject IoC.
Это эскиз того, что я имею в настоящее время:

public class MvcApplication : System.Web.HttpApplication 
{ 
    ... 
    protected void Application_Start() 
    { 
     AreaRegistration.RegisterAllAreas(); 

     RegisterRoutes(RouteTable.Routes); 

     ControllerBuilder.Current.SetControllerFactory(typeof(IOCControllerFactory)); 
    } 
} 

public class IOCControllerFactory : DefaultControllerFactory 
{ 
    private readonly IKernel kernel; 

    public IOCControllerFactory() 
    { 
     kernel = new StandardKernel(new NanocrmContainer()); 
    } 

    protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType) 
    { 
     var controller = kernel.TryGet(controllerType) as IController; 

     if (controller == null) 
      return base.GetControllerInstance(requestContext, controllerType); 

     var standartController = controller as Controller; 

     return standartController; 
    } 

    class NanocrmContainer : Ninject.Modules.NinjectModule 
    { 
     public override void Load() 
     { 
      Bind<IFileService>().To<BusinessLogic.Services.FileService>().InRequestScope().WithConstructorArgument("temp", "Temp").WithConstructorArgument("docs", "Documents"); // Temp and Documents should be replaced with corresponding paths 
     } 
    } 
} 
+0

Какая разница делает обновление? – SLaks

+0

@SLaks: ничего. Я был невнимателен, извиняюсь ;-) – zerkms

ответ

10
+0

Извините, я не был достаточно ясен в вопросе ... – zerkms

+0

Вы по-прежнему ищете свойство '' HttpRuntime.AppDomainAppPath' '(http://msdn.microsoft.com/ru -us/library/system.web.httpruntime.appdomainapppath.aspx) и, возможно, 'Path.Combine'. – SLaks

+0

'using System.Web;' – SLaks

Смежные вопросы