【问题标题】:Is it possible to write working code that uses read/write .config for ASP.Net Web Application type projects?是否可以为 ASP.Net Web 应用程序类型的项目编写使用读/写 .config 的工作代码?
【发布时间】:2012-05-11 03:22:50
【问题描述】:

我一直在使用here 显示的内容并在控制台应用程序类型项目中成功测试运行它,但是在尝试为 ASP.Net Web 调整代码(进行一些修改以成功消除构建错误)应用程序项目我最终收到以下运行时错误。

“/”应用程序中的服务器错误。

当不在独立 exe 中运行时,必须指定 exePath。 说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.ArgumentException:当不在独立 exe 中运行时,必须指定 exePath。

来源错误:

第 24 行:ShowConfig(); 第 25 行: 第 26 行:System.Configuration.Configuration 配置 = 第 27 行:ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 第 28 行:

我正在尝试的方法是否可行,或者我应该为 ASP.Net Web 应用程序项目尝试一种完全不同的方法?

【问题讨论】:

  • 您正在尝试从正在运行的应用程序写入您自己的 app.config?我想不出这段代码的有效用例。
  • 为什么不把它保存到数据库中的某个地方

标签: c# asp.net web read-write


【解决方案1】:

我认为可能有更简单的方法,但这取决于您要存储的数据类型以及原因。你应该首先考虑这些事情:

  • 碰撞。两个或更多访问者可以同时访问写入您的设置文件的网页吗?
  • 永久性。数据是否需要在应用程序重新启动后持续存在?
  • 速度。您的应用程序是否经常需要设置数据才能继续运行?

如果没有冲突的风险,您可以写入文件(App_Data 文件夹是此类文件的常用位置,其内容不由网络服务器提供,因此它们保持私有。)如果存在有碰撞的风险,您需要在写入文件时锁定文件,这更复杂。

如果不需要永久,你可以使用ASP.NET application state,这也很快,并且确实提供了锁定方法,但它不是永久存储,所以如果应用程序重新启动,你会丢失数据。

如果您需要防止冲突、提供永久存储并让您的应用程序快速访问数据,您可以结合使用这两种方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-03
    • 1970-01-01
    • 2017-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多