2010-05-24 53 views
4

夥計們,有可能在Global.asax方法中獲取asp.net mvc 2應用程序的物理路徑嗎?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 2010-05-24 01:34:39

+0

@SLaks:什麼都沒有。我不注意,對不起;-) – zerkms 2010-05-24 01:38:48

回答

10
+0

對不起,我在問題中不夠清楚... – zerkms 2010-05-24 01:31:28

+0

您仍然在尋找['HttpRuntime.AppDomainAppPath'屬性](http://msdn.microsoft.com/zh-cn/ -us/library/system.web.httpruntime.appdomainapppath.aspx),也許'Path.Combine'。 – SLaks 2010-05-24 01:34:10

+0

'using System.Web;' – SLaks 2010-05-24 01:36:29

相關問題