3

我不知道如何命名这个问题 - 我正在向 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 中有没有办法指向项目中的某个位置,并且该位置可以动态更改

4

2 回答 2

3

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

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

于 2012-10-20T05:54:37.473 回答
0

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

于 2012-10-20T04:58:43.840 回答