【问题标题】:Edit Settings in web.config在 web.config 中编辑设置
【发布时间】:2012-10-10 16:57:35
【问题描述】:

我不知道如何命名这个问题 - 我正在向 PayPal 的 Express Payment API 发出请求。我正在使用他们的 dll 来帮助发出请求并解析响应。他们的代码工作说明是在web.config 文件中添加您的授权凭据。我已经这样做了。我的问题是我希望能够编辑这些动态设置的凭据(可能来自 SQL),因为我们将允许不同的用户输入他们的 API 凭据。向 PayPal 发送请求如下所示

    Dim wrapper As New SetExpressCheckoutReq()
    wrapper.SetExpressCheckoutRequest = request
    Dim service As New PayPalAPIInterfaceServiceService()
    Dim setECResponse As SetExpressCheckoutResponseType = service.SetExpressCheckout(wrapper)

那里没有太多空间来编辑请求的标头,因为PayPalAPIInterfaceServiceService() 在他们的 dll 中定义,并根据 web.config 中的凭据应用自己的标头。

所以,我的问题是,当它在 web.config 中查找时,有没有办法将 web.config 指向另一个位置?我不确定这是可能的。另外,有什么方法可以编辑在 dll 中定义的请求的标头而不更改 dll(以保持 pci 兼容)

这是 web.config 中的一行:

 <account apiUsername="****" apiPassword="****" apiSignature="****"/>

编辑:

我知道动态添加或编辑 web.config 是不好的,我一直在寻找一种方法来指向另一个可以编辑的位置。就像在 C# 代码中一样,您可以编写 Settings["string"] 并指向 web.config。有没有办法在 web.config 中指向项目中的某个位置,并且这个位置可以动态更改

【问题讨论】:

    标签: c# .net soap paypal web-config


    【解决方案1】:

    我同意 iefpw 的观点,即手动修改 web.config 文件是个坏消息,但既然你问了,WebConfigurationManager 提供了你正在寻找的功能。

    该类有一个Save 方法,可以在您进行更改后调用。我只使用 WebConfigurationManager 来读取 web.config 文件,所以没有代码示例。祝你好运。

    【讨论】:

      【解决方案2】:

      您必须从 SQL Server 动态执行此操作,每次在 Web 配置中设置凭据都会弄乱您的系统。 web.config 也适用于整个应用程序。从数据库进行直接的动态 sql 查询并提供给 paypal。如果您有多个凭据,请不要乱用 web.config。

      【讨论】:

      • 我不需要每次都添加到 webconfig,我知道这很糟糕,我希望有一种方法可以从 webconfig 指向另一个可以动态更改的外部位置
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-20
      • 2010-09-21
      相关资源
      最近更新 更多