在web.config中编辑设置

3

我不知道如何为这个问题打标题——我正在请求PayPal的快速付款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中是否有一种方法可以指向其他位置?我不确定这是否可行。另外,有没有一种方法可以编辑在dll中定义的请求标头而不改变dll(保持符合PCI标准)?

以下是web.config中的代码:

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

编辑:

我知道动态添加或编辑web.config是不好的,我更希望找到一种指向可以被编辑的另一个位置的方法。就像在C#代码中,你可以写Settings["string"]并且这指向了web.config。在web.config中是否有一种指向项目中位置的方法,而这个位置可以动态改变呢?

2个回答

3

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

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


0
你必须动态地从SQL Server中进行设置,每次在Web配置文件中设置凭据都会破坏你的系统。另外,web.config是整个应用程序的设置。直接从数据库中进行动态sql查询并提供给Paypal。如果你有多个凭据,请不要破坏web.config。

我并不想每次都添加到webconfig中,我知道那样做是不好的,我希望有一种方法可以从webconfig指向另一个外部位置,这个位置可以动态更改。 - Scott Selby

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接