我正在使用ASP.Net Core
平台构建Web.API应用程序。我的应用程序需要使用Box进行身份验证,然后从box服务器下载该文件。
我看到Box有经典的.Net here的Nuget包但是我找不到ASP.Net Core的任何兼容的Box Nuget包吗?
可能他们尚未从BOX团队获得。那么如何使用“Build on Box Platform”和.Net Core验证和下载文件?
我假设我必须使用HttpClient
答案 0 :(得分:0)
看起来任何人都没有构建特定于盒子的.NET Core软件包。不过,你应该可以。就像你猜的那样,你需要HttpClient。在核心,您需要为它添加Microsoft.Net.Http.Client。除此之外,您还需要进行身份验证。幸运的是,Box使用OAuth,它实际上被广泛使用。 Microsoft.AspNetCore.Authentication.OAuth应该为您提供所需的一切。 This linkedin tutorial应该为你提供一个如何做到这一点的良好起点。除此之外,你真的不需要第三方库来实现这一目标,所以你应该全力以赴。
答案 1 :(得分:0)
正如你在GitHub上看到的,它支持Windows 8,Windows Phone 8和8.1,所以很有可能,它已经可以在.NET Core上运行了。没有netstandard-1.x
或netcoreapp1.x
目标,这意味着您无法将其添加到project.json,而不会出现“不支持平台”错误。
但是你可以做这样的事情来伪造nuget来安装Windows 8和Windows Phone 8.x库并查看它是否运行。
"framework":
{
"netstandard1.6" :
{
"imports": [ "portable-net45+wp8+wpa81" ],
"dependencies":
{
"Box.V2" : "2.12.1"
}
}
}
如果它是您的主项目(Web项目或控制台应用程序),或者使用netcoreapp1.0
。然后尝试使用它,看看它是否有效。
使用imports
时要小心,因为它会覆盖NuGet目标框架检查,上面的内容将允许您安装任何Windows Phone 8或8.1库,甚至是那些具有Windows Phone UI控件的XAML库。这些当然不会奏效。
只有不使用任何Windows或Windows Phone / Mobile API(如GPS等)的Windows 8和Windows Phone / Mobile库才有机会在.NET Core中运行。好的候选者是只能通过在Windows Phone / Mobile上运行的HttpClient或压缩库连接的API。
除上述所有内容外:从GitHub获取源代码,将其放入.NET Core类库(带* .xproj),并定位netcoreapp1.0
和netlibrary1.6
(或更低)并查看如果它编译。如果是,请创建一个nuget包并将其包含在您的项目中。