ASP.NET vNext 与 WinRT 相比如何?

Posted

技术标签:

【中文标题】ASP.NET vNext 与 WinRT 相比如何?【英文标题】:How does ASP.NET vNext compare to WinRT? 【发布时间】:2014-08-16 10:00:28 【问题描述】:

blog post 中的 ASP.NET vNext 描述将其描述为“用于构建基于云的现代应用程序的精简且可组合的 .NET 堆栈”。这是否意味着类似 WinRT 的 .NET 有限子集?

WinRT 有严重的限制和重大变化。它使移植流行的库变得不可能,因为它lacked the support for dynamic code emitting。 BCL 也有许多重大变化(根据我自己的经验)。我想这有很多原因是合理的,但它从 .NET 环境中带走了很多东西。

我不认为 ASP.NET vNext 会有这些限制,但它声称是跨平台的,它提供了更多。听起来真的很酷,但我很好奇我们是否会获得类似 WinRT 的体验。我可以假设我们将使用相同的 BCL(与 ASP.NET vNext 应用程序相关的部分)吗?

还有另外一个声明没有说明支持旧的 BCL:

ASP.NET vNext 将建立在 .NET vNext 之上。 .NET vNext 是下一个主要的 .NET 框架的发布。 .NET vNext 将拥有云优化模式 与完整的 .NET 相比,它的占用空间更小 框架。

我想知道我们是否能够无缝升级当前的应用程序和库。

【问题讨论】:

我的理解是 ASP.NET vNext 是一个 web 应用程序,在另一端还有一个浏览器。 WinRT 更像是一个沙盒化的 .NET。但只是评论。 会有 MVC 应用程序的升级路径,但 Web 窗体没有。大多数开发人员会选择不升级。没有必要。 IMO,ASP.NET vNext 就是尽可能多地从 Azure 中挤出。 【参考方案1】:

“云优化”是指使用的 CLR。 ASP.NET vNext 可以针对桌面 CLR(就像今天一样)和 Core CLR(客户端上的 windows 8 和服务器上的 windows 2012 附带),这是这个较小的版本(因此更小的内存占用因此云优化)

据说 ASP.NET vNext 支持 MVC、WebAPI、SignalR 等。至于 System.Web,没有人会阻止您使用 Desktop CLR 并引用 System.Web 并在使用“K Runtime”的同时使用 WebForms。只是 ASP.NET vNext 不会带来新版本的 WebForms 而是会带来新的统一 MVC 6 版本(将 MVC 和 WebAPI 结合在一起)

【讨论】:

以上是关于ASP.NET vNext 与 WinRT 相比如何?的主要内容,如果未能解决你的问题,请参考以下文章

ASP.Net vNext App_Data 文件夹

ASP.NET 5 (vNext) - 获取配置设置

ASP.NET 5 (vNext) - 获取配置设置

ASP.NET 5 (vNext) 中的身份验证

ASP.NET vNext 可以使用非 vNext 引用吗?

ASP.NET vNext - 动态编译代码不适合我