我已经做了一个证明,可以将 Node.JS 包含在 ASP.NET MVC 应用程序中。 假设我将使用外部 session 提供程序,例如 Windows Server appfabric Cache 或 memcache。
我有一个应用程序,其中有一个非常复杂的程序集,我们用它来构建中间层对象,然后将其存储在 session 中。它生成的程序集和对象是我们最有值(value)的部分,我无法证明将这个 C# 项目重写为对 Node.JS 更友好的东西是合理的。
此数据存储在外部缓存中,现在 Node.JS 开发人员需要访问该数据。 你们在这种情况下使用过哪些技巧?我非常确定我将必须拥有 ASP.NET 方面提供的某种服务接口(interface),因为它是拥有该记录系统的一方。
我还在为新项目寻找一个新的选项,让 ASP.NET MVC 和 Node.Js 以混合方式很好地协同工作,所以也许可以通过将数据存储在有效的约定中来解决这个问题对于两者。
谢谢。
最佳答案
我根本不会使用 ASP.NET session 。也许数据库是一种更具互操作性的方法。 SQL Server 甚至 NoSQL 解决方案,例如 RavenDB也许是一个不错的选择。
ASP.NET 进程外 session 状态提供程序的问题在于它们使用不可互操作的序列化程序(例如 BinaryFormatter
或 NetDataContractSerializer
),因此您无法读取从 NodeJs 返回的数据。不同版本的 .NET 框架之间的序列化机制甚至可能存在差异,因此即使有 2 个 ASP.NET 应用程序运行在不同版本的框架上,共享 session 数据也可能是一个挑战。
关于asp.net-mvc - 拥有 ASP.NET MVC 4 + Node.JS 混合应用程序时的 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12859716/