app.config访问运行时异常

时间:2011-12-02 16:40:40

标签: winforms entity-framework connection-string app-config

我正在处理用C#编写的.NET窗体应用程序,使用实体框架进行数据库连接。连接字符串是用app.config编写的。关键是我修改应用程序以便在两个不同的数据库之间切换:SQL server express 2008和SQL compact 4.如果应用程序无法连接到SQL服务器,它会修改app.config连接字符串部分以解决name以便与本地数据库连接(SQL compact 4)。问题在于,在某些计算机中,操作会触发异常:访问拒绝的路径,其中路径是安装应用程序的路径。我怎么可能克服这个问题?

1 个答案:

答案 0 :(得分:1)

用户模式应用程序不应尝试在除用户配置文件之外的任何位置写入磁盘。这意味着c:\Program Files中的任何内容都应该禁止该程序,除非它是一个管理程序(因此需要在Win7 / Vista中提升)。

以用户身份运行的用户的Windows XP系统可能正常运行;但Vista / 7系统可能会遇到异常,甚至是无声的编辑失败。 (由于被重定向到app.config的用户特定副本,而不是真实副本。)

您应该在app.config中存储各种连接字符串,并为用户提供在应用程序中从中进行选择的方法。您可以使用用户设置来保存最后使用的字符串。