1

我有几个项目,其中一些是 Web 应用程序,一些是 Windows 应用程序。
我想全球化我的设置,比如连接字符串,因为所有项目都使用相同的连接字符串。
所以我跟着这个例子How to share custom application configuration settings across projects in .NET

我的 XML 文件位于类库中,并且在每个项目中都被引用。Windows 项目在客户端项目中的文件路径上运行良好,如下所示:

<configuration>
      <appSettings file="F:\Classes\ConnectionStringFile.xml">

      </appSettings>

    </configuration>

我还希望能够从 Web 项目中使用这个 xml 文件。但是,Web 项目不接受该文件的路径,如前所示。

在 Web 项目和 Windows 项目之间共享此连接字符串文件的最佳方法或最佳解决方案是什么。我要传入什么

<appSettings file ="~/classLibrary/ConnectionStringFile.xml"???`

4

2 回答 2

0

file=接受相对路径,并且 *.config 文件从 ASP.NET 和 IIS 静态文件规则中排除,因此将任何 *.config 文件放入 ASP.NET 站点是安全的。只需将其放在 web.config 文件(Web 应用程序的根目录)旁边mylibrary.config,然后file="mylibrary.config".

于 2013-01-29T15:19:15.343 回答
0

我们使用的解决方案是将共享设置存储在 CommonApplicationData 文件夹下的自定义文件夹中(例如 Windows7 上的 C:\ProgramData):

var commonAppData = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
var settingsFilePath = Path.Combine(commonAppData, "MyProgram\\Settings.xml");
于 2013-01-29T14:51:32.390 回答