1

我正在尝试在 ASP.NET 应用程序和 VB.NET (Forms) 应用程序之间共享一个 DLL。客户端应用程序使用配置文件来存储设置,例如连接字符串,ASP.NET 应用程序也是如此。

ASP.NET 应用程序使用 System.Web.Configuration 命名空间,而 VB.NET 应用程序使用 System.Configuration 命名空间。我注意到它们继承自 Object 类。我希望它们都继承自一个公共类,以便我可以使用多态性在 DLL 中创建适当类型的实例。

为跨 ASP.NET 和 VB.NET 应用程序共享的 DLL 使用配置文件的最佳实践是什么。我对此进行了研究,并在某处读到您应该在 ASP.NET 应用程序中使用 System.Configuration,而我在其他地方读到您不应该这样做,因为如果您在 ASP 中使用 System.Configuration,则无法写入 web.config .NET 应用程序。我不需要写 web.config;我需要阅读它。最佳做法是什么?

更新 13/07/2012 DLL 包含一个类。该类目前有一个构造函数,如下所示:

private connectionString As Sub
Public Sub New()
connectionString = WebConfigurationManager.ConnectionStrings("TestConnection").ConnectionString
End Sub

我现在正在考虑在类中创建另一个构造函数以供非 Web 客户端调用,即:

private connectionString As Sub
Public Sub New()
connectionString = connectionString2
End Sub
4

2 回答 2

3

我建议将参数从托管应用程序传递给您的 DLL 函数,并从 dll 中完全删除配置文件依赖项。

于 2012-07-13T18:39:19.553 回答
1

在这种情况下,对我们有用的是我们将条目放入使用:

<configuration>
  <appSettings>
    <add key="AccessServer" value="\\apollo\all_access_anon\northwind.mdb" />
    ...

然后我们使用以下方式访问它:

NameValueCollection appSettings = ConfigurationManager.AppSettings;
string str = appSettings["AccessServer"];

这对两个配置文件都是通用的。

于 2012-07-13T18:39:45.150 回答