#endif
}
+ static string GetBinPath (string physicalDir)
+ {
+ string ret = Path.Combine (physicalDir, "Bin");
+ if (Directory.Exists (ret))
+ return ret;
+ ret = Path.Combine (physicalDir, "bin");
+ return ret;
+ }
+
//
// For further details see `Hosting the ASP.NET runtime'
//
setup.ApplicationName = domain_id;
setup.ConfigurationFile = FindWebConfig (physicalDir);
setup.DisallowCodeDownload = true;
- string bin_path = Path.Combine (physicalDir, "bin");
+ string bin_path = GetBinPath (physicalDir);
setup.PrivateBinPath = bin_path;
setup.PrivateBinPathProbe = "*";
setup.ShadowCopyFiles = "true";
+2007-02-21 Marek Habersack <grendello@gmail.com>
+
+ * ApplicationHost.cs: support both Bin and bin directories, prefer
+ the former.
+
2007-02-19 Marek Habersack <grendello@gmail.com>
* ApplicationHost.cs: Use a deterministic application name, so
+2007-02-21 Marek Habersack <grendello@gmail.com>
+
+ * HttpRuntime.cs: BinDirectory returns the bin directory
+ determined by the application host on the application startup.
+
+ * HttpApplicationFactory.cs: Watch the bin directory determined by
+ the application host on the application startup.
+
2007-02-20 Vladimir Krasnov <vladimirk@mainsoft.com>
* HttpRequest.cs: fixed MapPath, removed TARGET_J2EE block that checks
factory.InitType (context);
lock (factory) {
if (factory.app_start_needed) {
- WatchLocationForRestart("bin", "*.dll");
+ WatchLocationForRestart (AppDomain.CurrentDomain.SetupInformation.PrivateBinPath,
+ "*.dll");
#if NET_2_0
- WatchLocationForRestart("App_Code", "");
- WatchLocationForRestart("App_Browsers", "");
- WatchLocationForRestart("App_GlobalResources", "");
+ WatchLocationForRestart ("App_Code", "");
+ WatchLocationForRestart ("App_Browsers", "");
+ WatchLocationForRestart ("App_GlobalResources", "");
#endif
app = factory.FireOnAppStart (context);
factory.app_start_needed = false;
public static string BinDirectory {
get {
- string dirname = Path.Combine (AppDomainAppPath, "bin");
+ string dirname = AppDomain.CurrentDomain.SetupInformation.PrivateBinPath;
if (SecurityManager.SecurityEnabled) {
new FileIOPermission (FileIOPermissionAccess.PathDiscovery, dirname).Demand ();
}