我希望能够在asp.net mvc应用程序和python / django应用程序之间共享一些数据。我想分享的数据类型是身份验证或会话数据。
答案 0 :(得分:4)
这当然是可能的。可能有几种方法可以做到这一点,但最明显的一种方法是使用一些共享后备存储,即。数据库甚至可能更快的memcached。我不是Django用户,但据我所知,memcached在其中得到支持......
当然有一个与此相关的更复杂的情况,那就是数据兼容性。您可能必须使用两种框架都能理解的可互换格式。 XML,JSON,BSON或类似的。因此,即使使用memcached,您也必须执行翻译。
答案 1 :(得分:3)
我将如何分享会话......
使会话Cookie子域不可知
<httpCookies domain=".mydomain.tld" />
我想要在
之间分享会话的两个子域名www.mydomain.tld [ASP.net MVC app]
extra.mydomain.tld [Python app]
在ASP.net中创建一个简单的Web服务或通用处理程序,它返回用JSON或XML序列化的用户会话。
如果使用通用处理程序,请记住在类上使用IReadOnlySessionState或IRequiresSessionState接口。
现在从extra.mydomain.tld您可以调用您的www.mydomain.tld / [Get / Set] SessionValue处理程序或服务。它将获取您的“.mydomain.tld”cookie并允许共享修改值。
答案 2 :(得分:2)
我建议使用共享数据库的以下方法(可以是共享缓存或任何其他数据存储):
快速回答: 在创建新会话之前应该有一个查找共享Cookie的过滤器
答案 3 :(得分:0)
可以选择在MS SQL Server数据库中存储会话状态,该数据库可立即使用。使用下一个kb http://support.microsoft.com/kb/317604中的步骤 它更多的是配置,而不是实现。 您可以编写自己的自定义存储提供程序,但有任何理由吗?
我不熟悉python,但至少有ODBC驱动程序 http://wiki.python.org/moin/SQL%20Server