我读了关于DistinctUntilChanged
的{{3}},它说
ASP.NET Core不再基于System.Web.dll
另外它说:
它基于一组精细且精心设计的NuGet包。这允许您优化您的应用程序,使其仅包含您需要的NuGet包。
我用Google搜索了一下,但我没有找到一个好的解释,任何人都可以为我澄清这个问题?
答案 0 :(得分:3)
ASP.NET Core删除了对System.Web
命名空间/程序集的依赖,因为它已经很老了(它早在ASP.NET Webforms出现之前就已经在旧的ASP中扎根)并且非常紧密地耦合到IIS 。继续支持System.Web
意味着,ASP.NET Core应用程序无法在Linux或Mac上很好地移植。
因此,删除此依赖项允许ASP.NET Core在其自己和Web服务器上独立运行,这使得在linux或mac下更容易移植和托管。
这很好,因为这可以让它在任何地方托管。但这也意味着,旧的ASP.NET WebForms / MVC webstacks的所有库和扩展(依赖于System.Web.*
)都与ASP.NET Core不兼容,需要重新设计才能删除这些依赖项。
从长远来看,ASP.NET遗留框架的所有主要库都将在某些时候从头开始移植或编码,因为ASP.NET Core是未来的。
因此,为生产应用程序切换到ASP.NET Core可能有点早,如果它们具有许多旧的依赖项,而这些依赖项尚未用于ASP.NET Core。