2012-10-20 46 views
3

我不知道如何標題這個問題 - 我正在向PayPal的快速​​支付API發出請求。我使用他們的dll來幫助提出請求並解析響應。他們的代碼工作說明是在web.config文件中添加授權憑證。我已經這樣做了。我的問題是我希望能夠編輯這些動態設置的憑據(可能來自SQL),因爲我們將允許不同的用戶輸入他們的API憑證。發送請求到PayPal看起來像這樣編輯web.config中的設置

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中指向項目中的某個位置,並且可以動態更改此位置

回答

3

我同意iefpw手動修改web.config文件是個壞消息,但是自從您問起,WebConfigurationManager提供了您正在查找的功能。

該類有一個Save方法,可以在做出更改後調用。我只使用WebConfigurationManager讀取web.config文件,因此沒有適合您的代碼示例。祝你好運。

0

您必須從SQL Server動態執行此操作,每次在Web配置中設置證書都會搞亂你的系統。 web.config也適用於整個應用程序。從數據庫中直接進行動態sql查詢並提供給paypal。如果您擁有多個憑據,請不要混淆web.config。

+0

我不需要每次都添加到webconfig,我知道這是不好的,我希望有一種方法可以從webconfig指向另一個可以動態更改的外部位置 –