我正在编写一个Web服务,当前需要从服务器上的json文件中读取一些设置。
string allSettingsTxt = File.ReadAllText(settingsPath);
List<MySetting> list = JsonConvert.DeserializeObject<List<MySetting>(allSettingsTxt);
我尝试给出以下内容作为路径
string settingPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"..\MyCurrentDir\setting.json");
但是此路径无法在实际部署上解决,我相信它必须类似于http://servername/settings/setting.json
?
我不确定我是否正确理解您要达到的目标。
我假设您想获取相对于可执行文件的设置文件的路径。
这是我经常在自己的代码中执行的操作:
var configFile = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "config.xml");
在这种情况下,config.xml应与.EXE位于同一目录中。
所以应该是
var settingPath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @"..\MyCurrentDir\setting.json");
根据您的情况。
另请参见https://dailydotnettips.com/different-ways-of-getting-path/以获取一些说明。