在web.configs中转义引号和@

时间:2012-09-18 10:03:04

标签: c# web-config

您好我正在尝试从web.config

获取以下内容

@ “行政\阿达玛”;

并将使用如下:

var queuePath = @"Chief\adama";

目前我有:

 <add key="AdamaPath" value="@Chief\adama" />

实际上只有主要部分会改变,我尝试了以下内容:

web.config:

<add key="AdamaPath" value="Chief" />

的.cs:

var machine = ConfigurationManager.AppSettings["AdamaPath"];
var queuePath = "@" + "\"" + machine + "\adama" + "\"";

但我得到: “@ \”酋长\ adama \“”

我也尝试过:

 <add key="AdamaPath" value="@ &quot; Chief\adama &quot;" />

也得到:

“@ \”Chief \ adama \“”

任何人都可以让我知道如何摆脱额外的“和\” 谢谢!

2 个答案:

答案 0 :(得分:2)

我认为您可能会混淆实际字符串转义字符。如果您只想从web.config执行:

中提取值
var machine = ConfigurationMananger.AppSettings["AdamaPath"];
var queuePath = String.Format("{0}{1}adama", machine, Path.DirectorySeparatorChar);

答案 1 :(得分:2)

以下可能就是您所需要的:

<add key="AdamaPath" value="Chief" />

var machine = ConfigurationManager.AppSettings["AdamaPath"];
var queuePath = machine + "\\adama";

上面会产生一个包含Chief\adama的字符串,这似乎是你需要的。

@表示逐字字符串文字(当在字符串文字之前时) - 您正在构建包含的字符串,这不能正常工作,因为它是C#的特性和需求到字符串文字之前。