在 ASP.net 中创建 Dropbox.API 的实例

Creating instance of Dropbox.API in ASP.net

我正在将 MVC 中的一个项目迁移到 ASP.net Core 中的等效项目,我需要访问 Dropbox 中的一些文件,我在 ASP.net Core 中配置了我的项目 Dropbox.Api,因为 ASP.net Core 似乎不支持 DropNet(当我尝试安装它时,我收到以下错误消息:The dependency DropNet 1.10.23 does not support framework .NETCoreApp,Version=v1.0.)如果你知道我可以使用 DropNet 的任何方式让我知道。

所以我安装了 Dropbox.Api 并创建了我自己的应用程序,我可以使用 Dropbox 客户端对象访问它:

 DropboxClient client = new DropboxClient("cU5M-a4exaAAAAAAAAABDVZsKsdfsd2343slOeFEo-HByusdgsgsgsf33FyOXH");

但是当我尝试连接到 Dropbox MVC 帐户时,它使用的是 DropNet,并且配置不同(其中没有生成访问令牌):

 _client = new DropNetClient("gwie23zapdfddsswt8", "64545ghdfhjcf", userToken: "wdggff662sd4", userSecret: "234564fthhyqo");

我对此有一些疑问:

1- 我无法在 ASP.net Core 中安装以前框架版本中使用的 DropNet 包?

2-我一直在关注 this 教程,在那里他们只谈论 Generated access token 他们不谈论 userTokenuserSecret,在MVC 项目使用了 DropNet,他们使用这些参数创建了 Dropbox 客户端。在我上面引用的教程中,他们只是像这样创建该客户端:

DropboxClient client = new DropboxClient("cU5M-a4exaAAAAAAAAABDVZsKsdfsd2343slOeFEo-HByusdgsgsgsf33FyOXH");

我是否可以使用 Dropbox.API 使用 userTokenuserSecret 创建该实例? DropboxClient 只接受两个参数:生成的访问令牌和 DropboxClientConfig 的实例。

3- 一旦在 ASP.net 中部署我的应用程序,每个用户都可以使用我在幕后创建的客户端下载文件:

DropboxClient client = new DropboxClient("cU5M-a4exaAAAAAAAAABDVZsKsdfsd2343slOeFEo-HByusdgsgsgsf33FyOXH");

如果您查看 NuGet package of Dropbox.Api,您会发现它针对 PCL 包中的 DNXCore 5.0。它与 .NET Core 兼容。使用 imports 语句我们可以告诉 NuGet 我们与 DNX Core 5.0 兼容并希望他们的包恢复:

"dependencies": {
  "Dropbox.Api": "3.6.0"
},
"frameworks": {
  "netcoreapp1.0": {
    "dependencies": {
      "Microsoft.NETCore.App": {
        "type": "platform",
        "version": "1.0.0"
      }
    },
    "imports": "dnxcore50"
  }
}

注意 "imports": "dnxcore50" 语句。


如果您想使用完整的 .NET,您必须将 project.json 文件更改为类似以下内容:

"dependencies": {
  "Dropbox.Api": "3.6.0"
},
"frameworks": {
  "net46": { }
}

其中 net46 可以是您要定位的任何 .NET 框架。