2010-06-02 6 views
11

La raison pour laquelle j'ai demandé this question est que je voulais créer une classe d'assistance pour l'instanciation Remoting, et que je voulais passer le chemin du fichier app.exe.config (ou web.config) à la méthode RemotingConfiguration.Configure, en fonction de l'appelant.Récupère le chemin du fichier de configuration de l'application actuelle

Est-il possible que je pourrais obtenir le nom du fichier de configuration pour deux Win et des applications Web sans vérifier si l'application est Web ou WinForms?

Répondre

12

Je l'ai utilisé

string folder = System.Web.HttpContext.Current != null ? 
    System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "App_data") : 
    System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location); 

sans problème, mais peut-être il y a quelques cas de coin que je ne connais pas ...

+0

J'ai la lettre majuscule "D" pour "App_Data". – John

3

Pour trouver l'emplacement d'application exécutant

System.Reflection.Assembly.GetExecutingAssembly().Location; 

Je ne sais pas le cas web.

+0

Je suppose que vous vouliez dire 'System.Reflection.Assembly.GetExecutingAssembly(). Emplacement + ".config"', mais en fait je besoin d'une solution qui fonctionnerait aussi bien pour les applications. – dummy

16

Cela se soit le web.config ou et application. config (yourprogram.exe.config) emplacement.

AppDomain.CurrentDomain.SetupInformation.ConfigurationFile 
+1

Vous devriez vraiment avoir un peu d'explication avec ça ... – hyde

+4

Honnêtement, cette réponse me semble assez explicite; les noms des membres sont incroyablement descriptifs. – Brian

Questions connexes