【问题标题】:App.config file not being recognized in by PayPal.ApiPayPal.Api 无法识别 App.config 文件
【发布时间】:2019-06-07 02:04:34
【问题描述】:

我想最终设置 Paypal 付款。第一步是玩。而且我的快速入门失败了!

https://github.com/paypal/PayPal-NET-SDK/wiki/Quick-Start 显示了一个代码示例。它解释说,首先,我需要通过 NuGet 下载 PayPal .NET SDK 包。太好了,我在 .NET Framework(不是核心)上。我安装它。

第二阶段给出了一个完整的例子。我将一些 PayPal 配置设置添加到 app.config 文件中。完成

第 3 阶段是出错的地方。我在我的 C# 类中引用了 PayPal.API。

我的代码的相关部分是

using PayPal.Api;
using System.Collections.Generic;   

namespace TestProj.Payment
{
    public class PaypalGateway
    {
        public void Sandbox()
        {
            var config = ConfigManager.Instance.GetProperties();// this is the fault
            var accessToken = new OAuthTokenCredential(config).GetAccessToken();

config 总是有 0 个实例

我的项目有一个具有正确值的 App.config 文件

 <configSections>
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    <section name="paypal" type="PayPal.SDKConfigHandler, PayPal" />
  </configSections>
  <paypal>
    <settings>
      <add name="mode" value="sandbox" />
      <add name="clientId" value="***" />
      <add name="clientSecret" value="***" />
    </settings>
  </paypal>

如果我将我的 App.config 文件重命名为 blah.nonsense,则会出现同样的问题。就好像 API 正在寻找其他配置不正确的文件。

【问题讨论】:

  • 您是否已将 app.config 添加到启动系统的同一进程中?还是PaypalGateway 是从另一个托管进程调用的?
  • 那应该是问题所在,把配置添加到宿主进程的app.config中,应该解决了
  • 对不起,我已经完成了。(我删除了我的评论说不,我没有)。我的 ManualTest 项目和具有此代码的项目都包含相同的配置详细信息(就像我对 EF 连接字符串所做的那样)@3dd

标签: c# asp.net-mvc paypal


【解决方案1】:

这个问题被标记为,所以假设这是一个网络项目

快速入门明确说明

将以下内容添加到您的 web.configapp.config

web.config 如果这实际上是一个 Web 项目,则应该放在您放置配置详细信息的位置。

即使引用的代码是用于项目中的另一个类库,可以使用app.config文件,所有设置最终都必须在Web项目的根web.config文件中,因为这是一个过程将运行。

【讨论】:

  • 这是答案,但我现在很困惑。这是一个网络项目。有 MVC.NET 项目、支付项目(类库)和测试项目。我直接从我的测试项目执行到付款项目。因此,我从未接触过 MVC.NET 项目,但正如您所指出的,它是必需的。我对此感到非常惊讶
  • 测试项目是在运行单元测试还是在集成测试中调用 Web 项目?有很大的不同。如果运行单元测试,那么单元测试的 app.config 将被使用,因为它将运行。如果通过直接 http 调用调用 web 项目,则 web 服务器需要 web.config。
  • 不,测试单元根本没有调用它。据我所知,它完全独立于 MVC 项目。但是,我猜有 http 调用,因为它是 Paypal 并且正在验证。谢谢……
猜你喜欢
  • 1970-01-01
  • 2018-02-15
  • 1970-01-01
  • 1970-01-01
  • 2012-12-02
  • 2021-01-13
  • 2013-06-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多