2010-06-11 12 views
6

Kendimi, çalışan ASP.NET web uygulamasının fiziksel konumuna göre bir dosya temelinde log4net'i yapılandırma gereksinimi olduğunu buldum. Logger'ı mümkün olduğunca erken başlatmayı seviyoruz, bu nedenle Application_Start uygun bir yer gibi görünüyor.HttpContext.Current kullanmadan bir ASP.NET web uygulamasının fiziksel konumunu nasıl edinilir?

string absolutePath = HttpContext.Current.Request.PhysicalApplicationPath; 

HttpContext.Current birçok global.asax (Uygulama, Oturum) mevcut değildir çünkü: IIS6, bu iyi çalışır ve yaş için çalışmakta olduğu, ama şimdi IIS7 taşındı ve bu artık işe yaramaz olaylar. Bu eski bir haber, hepimiz biliyoruz ki şimdi rezil Request is not available in this context error yükseltir. Klasik moda geri dönmek istemiyoruz.

Şimdi, soru basit: HttpContext kullanmadan, şu anda çalışan web uygulaması örneğinin fiziksel konumunu bulmak mümkün mü?

+1

Bu yardımcı olur mu? - http://stackoverflow.com/questions/1740422/asp-net-current-physical-location –

+0

Evet, yardımcı oluyor, teşekkürler! – Abel

cevap

0

Kendi sorumuma alternatif bir yanıt olarak,olayının yanı sıra Application_Start olayında da eklemek istiyorum. Uygulama etki alanı yolu daha sonra Server.MapPath("~")'a eşit olacaktır, ancak göreli yolları eşleme, daha sonra eşleme yükünü kaldırma (MapPath ile başlamak için ne anlama geldi).

İlgili konular