我一直在使用显示的内容here并成功地在控制台应用程序类型的项目中测试运行它,但是在尝试为 ASP.Net Web 应用程序项目调整代码(进行一些修改以成功消除构建错误)时,我最终收到以下运行时错误。
“/”应用程序中的服务器错误。
当不在独立的 exe 中运行时,必须指定 exePath。 说明:在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中的来源的更多信息。
异常详细信息:System.ArgumentException:不在独立 exe 中运行时必须指定 exePath。
来源错误:
第 24 行:ShowConfig(); 第 25 行: 第 26 行:System.Configuration.Configuration config = 第 27 行:ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 第 28 行:
我的尝试是否可行,或者我应该为 ASP.Net Web 应用程序项目尝试一种完全不同的方法?
请您参考如下方法:
我认为可能有更简单的方法,但这取决于您尝试存储的数据类型以及原因。您应该首先考虑这些事情:
- 碰撞。两个或更多访问者可以同时访问写入您的设置文件的网页吗?
- 永久性。数据是否需要在应用程序重新启动后继续存在?
- 速度。您的应用程序是否经常需要设置数据才能保持运行?
如果没有冲突的风险,您可以写入文件(App_Data 文件夹是此类文件的常见位置,其内容不由网络服务器提供,因此它们保持私有(private)。)如果有有冲突的风险,写文件的时候需要加锁,比较复杂。
如果不需要永久性,可以使用ASP.NET application state这也将很快并且确实提供了锁定方法,但它不是永久存储,因此如果应用程序重新启动,您将丢失数据。
如果您需要防止冲突、提供永久存储并让您的应用程序快速访问数据,您可以结合使用这两种方法。
