如何在类库项目类型中使用ConfigurationManager类

时间:2011-11-05 09:18:04

标签: c# asp.net payment-gateway

我有一个类付款库项目。客户端的实时凭证位于网站的web.config文件中,此类库项目将以dll的形式添加到bin中。那么如何在类库中获取ConfigurationManager所以我可以获得客户端的凭证并进行付款

5 个答案:

答案 0 :(得分:8)

通常,库中的类不应该直接读取web.config并在构造函数中进行设置。

但是,在某些情况下,库可以直接读取web.config。为此,您可以定义custom configuration section或使用WebConfigurationManager.AppSettings

您需要添加对System.Web程序集的引用,并且需要在要使用配置管理器的文件中包含命名空间System.Web.Configuration。

答案 1 :(得分:1)

如果您可以将该课程从课程库移开,但如果您不能或您不想这样做,那么您可以使用System.Configuration。

1)添加对System.Configuration的引用。

2)使用ConfigurationManager而不是WebConfigurationManager;代码几乎相同,只需用ConfigurationManager替换WebConfigurationManager。

答案 2 :(得分:0)

将您的类库配置设置移至web.config。

答案 3 :(得分:0)

我遇到了同样的问题,我假设您想使用ConfigurationManager访问配置文件中的某些属性。

另一种方法是将设置文件添加到项目中。这就是我在项目中所做的:

  1. 右键单击项目名称,转到菜单上的“属性”链接。
  2. 单击左侧选项卡上的设置链接
  3. 如果您尚未生成一个VS,则会为您提供创建一个的链接。
  4. 创建一个后,您可以为所需的属性添加键值对。
  5. VS将在项目中包含一个settings.settings文件,其中包含您在设置文件中添加的属性(假设您使用的是C#,您应该在Settings.Designer.cs下看到它们)
  6. 然后,您可以通过[ProjectNamespace].Properties.Settigns.Default.[PropertyName]
  7. 在项目的课程中访问这些设置

答案 4 :(得分:0)

将引用public function afterSave() { $sessionKey = post('_session_key'); $file = $this->file()->withDeferred($sessionKey)->first(); if($file){ log::info($file->getPath()); } } 添加到类库中。