【问题标题】:Using Azure packages with .NET Core / MVC将 Azure 包与 .NET Core / MVC 一起使用
【发布时间】:2016-11-13 04:06:18
【问题描述】:

我正在探索 Core MVC 1.0。

是否可以使用我过去在以前的 Web API 项目中使用的 Azure nuget 包?例如,我一直在使用 Microsoft.Azure.Mobile.Server.Notifications,它为我提供了 HttpConfiguration 上的扩展方法,我可以在我的控制器中使用,例如:

var pushClient = Configuration.GetPushClient();

但我知道HttpConfiguration 已不存在。

有什么方法可以将这样的 Azure 包与 MVC 控制器一起使用,还是我应该等到它们发布针对 .net 核心的版本?如果是这样,他们甚至在做这件事吗?我可以在任何地方找到任何东西。

【问题讨论】:

  • 您必须逐个库在一个库上验证这一点。即 WindowsAzure.Storage 库还具有对 CoreCLR github.com/Azure/azure-storage-net/tree/master 的预览支持。对于 Azure 移动应用程序......好吧,github.com/Azure/azure-mobile-apps-net-server/blob/master/src/… 没有任何不需要 HttpConfiguration 的构造函数,所以可以肯定地说,它不会工作
  • 但是没有什么可以阻止您获取代码,进行必要的更改(似乎配置仅用于获取 IMobileAppSettingsProvider github.com/Azure/azure-mobile-apps-net-server/blob/master/src/… 的实例,您可以通过 DI 注入HttpConfiguration 并使用 DI/Configuration 模式将其注册到 .NET Core Pipeline/DI 系统,如果这是所需的所有更改,则地狱创建一个拉取请求,以便其他人也可以从中获利
  • 谢谢。我试图跳过 Azure 移动库位并直接使用 Microsoft.Azure.NotificationHubs - 我所寻找的只是 NotificationHubClient - 但它并不开心。 “无法加载文件或程序集 'System.Runtime.Serialization,版本 = 4.0.0.0”。也许这是因为这个包需要 .NET 4.5 完整配置文件?无论如何它可以在.net核心项目中工作吗?

标签: azure asp.net-core asp.net-core-mvc azure-mobile-services


【解决方案1】:

从技术上讲,您也可以使用面向完整框架的 ASP.NET Core 包。由于 Azure 包,我们有几个以 netcoreapp 为目标的应用程序和其他以 net461 为目标的应用程序,但它们都使用 ASP.NET Core 包。当然,如果您的环境具有完整框架(Azure 应用服务具有),则这是有效的。

您可以看到netcoreappnet46 版本与NetStandard here 的关系。

要实现这一点,请从dependencies 中删除Microsoft.NETCore.App,并将frameworks 声明中的netcoreapp1.0 更改为net461

当与 NetCore 兼容的软件包上线时,只需撤消更改,您的应用就会继续工作。

【讨论】:

  • 如果他想直接使用的依赖项使用 HttpConfiguration 就像通知库在它的构造函数中所做的那样,这对 OP 没有多大帮助,这对于大多数依赖于 System.Web 的库来说都是如此,因为新的 ASP.NET Core 不再使用来自 System.Web 的任何东西
  • Azure Notification Hub nuget package 在完整框架 (net461) 上运行时可以很好地与 ASP.NET Core 配合使用。使用netcoreapp 时不起作用,但net461 仍然是 ASP.NET Core。
【解决方案2】:

关于 ASP.NET Core 的移动应用服务器 SDK 支持,这项工作正在我们的待办事项中,但我们没有时间表可以分享。这部分是因为一些依赖项(例如 Asp.NET OData 和 OData)还不支持 ASP.NET Core。

与此同时,您可以尝试@matias-quaranta 的回答,了解如何将两者结合使用。

【讨论】:

    猜你喜欢
    • 2023-03-14
    • 1970-01-01
    • 2020-07-14
    • 2017-09-03
    • 2012-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多