Tôi muốn có thể chia sẻ một số dữ liệu giữa ứng dụng mvc asp.net và ứng dụng python/django. Loại dữ liệu tôi muốn chia sẻ là xác thực dữ liệu hoặc dữ liệu phiên.có thể chia sẻ dữ liệu phiên từ ứng dụng asp.net mvc và ứng dụng python không?
Trả lời
Điều này tất nhiên có thể là miễn là bạn truy cập một số tài nguyên được chia sẻ giữa cả hai khung công tác. Có thể có một số cách để làm điều đó nhưng một trong những rõ ràng nhất sẽ được sử dụng một số cửa hàng sao lưu được chia sẻ tức là. cơ sở dữ liệu hoặc thậm chí có thể memcached sẽ nhanh hơn. Tôi không phải là một người dùng Django nhưng theo như tôi biết memcached được hỗ trợ trong nó ...
Tất nhiên là một kịch bản phức tạp hơn liên quan đến điều này và đó là khả năng tương thích dữ liệu. Bạn có thể sẽ phải sử dụng một số định dạng hoán đổi cho nhau mà cả hai khung hiểu nghĩa là. XML, JSON, BSON hoặc tương tự. Vì vậy, ngay cả khi sử dụng memcached bạn sẽ phải làm điều này dịch.
Có một tùy chọn để lưu trữ trạng thái phiên trong cơ sở dữ liệu MS SQL Server có sẵn trong hộp. Sử dụng các bước từ kb http://support.microsoft.com/kb/317604 tiếp theo Đó là thông tin thêm về cấu hình chứ không phải triển khai. Bạn có thể viết nhà cung cấp lưu trữ tùy chỉnh của riêng mình nhưng có lý do nào cho điều đó không?
Tôi không quen với trăn, nhưng có ít trình điều khiển ODBC ít nhất là cho nó http://wiki.python.org/moin/SQL%20Server
Làm thế nào tôi có thể chia sẻ phiên ...
Tận dụng Session Cookie sub-domain thuyết bất khả tri
<httpCookies domain=".mydomain.tld" />
có tôi hai tiểu lĩnh vực mà tôi muốn chia sẻ phiên giữa
www.mydomain.tld [ASP.net MVC app]
extra.mydomain.tld [Python app]
Tạo một dịch vụ web đơn giản hoặc trình xử lý chung trong ASP.net trả về phiên của người dùng được tuần tự hóa bằng JSON hoặc XML.
Nếu bạn sử dụng trình xử lý chung, hãy nhớ sử dụng giao diện IReadOnlySessionState hoặc IRequiresSessionState trên lớp.
Bây giờ từ extra.mydomain.tld, bạn có thể gọi bộ xử lý hoặc dịch vụ www.mydomain.tld/[Get/Set] SessionValue của bạn. Nó sẽ nhận trên cookie ".mydomain.tld" của bạn và cho phép chia sẻ các giá trị sửa đổi.
Tôi muốn biết nơi bạn sẽ đặt logic này trong cho asp.net MVC? Bạn sẽ đưa vào một số mô-đun IIS? – Dave
Tôi muốn giới thiệu các phương pháp sau đây sử dụng một cơ sở dữ liệu dùng chung (có thể là một bộ nhớ cache chia sẻ hoặc bất kỳ kho dữ liệu khác):
- Khi người dùng truy cập vào một trong các ứng dụng của bạn tại tên miền của bạn, bạn tạo một cookie với khóa "_shared_session" và với giá trị của một chuỗi ngẫu nhiên được tạo bởi ứng dụng của bạn;
- Lưu giá trị của cookie này vào cơ sở dữ liệu và liên kết nó với đối tượng JSON đang giữ dữ liệu bạn muốn chia sẻ giữa các ứng dụng;
- Khi người dùng truy cập ứng dụng khác, bạn xác minh xem cookie có khóa "_shared_session" tồn tại và đọc giá trị của nó hay không;
- Với giá trị của cookie, bạn có thể truy xuất đối tượng JSON được chia sẻ.
câu trả lời nhanh:cần có một bộ lọc tìm kiếm một cookie chia sẻ trước khi tạo ra một phiên làm việc mới
- 1. Chia sẻ phiên giữa webservice và ứng dụng asp.net
- 2. Chuyển dữ liệu phiên giữa các ứng dụng web ASP.NET
- 3. Chia sẻ dữ liệu giữa các ứng dụng trên iDevice
- 4. Nhận dữ liệu Python từ ứng dụng AJAX asp.net
- 5. Nhiều ứng dụng có mã chia sẻ
- 6. Thư mục tài liệu chia sẻ ứng dụng iOS
- 7. Chia sẻ phiên trên các ứng dụng bằng ASP.NET Session State Service
- 8. Chia sẻ trạng thái phiên giữa 2 ứng dụng ASP.NET sử dụng SQL Server
- 9. Truyền dữ liệu phiên giữa các ứng dụng ASP.NET
- 10. Ứng dụng Rails và api goliath và cơ sở dữ liệu/mô hình chia sẻ
- 11. Chia sẻ hồ bơi ứng dụng .NET
- 12. App Engine - Memcache có được chia sẻ giữa các phiên bản của một ứng dụng không?
- 13. Chia sẻ URL trong ứng dụng web
- 14. Chia nhỏ ứng dụng web asp.net
- 15. Có thể đặt chủ đề cho ứng dụng thư trong ứng dụng Windows 8 metro, nếu tôi đang sử dụng hợp đồng chia sẻ và chia sẻ tệp?
- 16. Triển khai ứng dụng web Asp.net MVC
- 17. Ứng dụng iOS có chia sẻ khung công tác không?
- 18. Ứng dụng Chia sẻ/SMB mạng
- 19. Chia sẻ dữ liệu riêng tư giữa các ứng dụng iOS có ID nhóm khác nhau
- 20. Các ứng dụng có sử dụng nhiều quy trình chia sẻ một cá thể Dalvik không?
- 21. Ứng dụng cục bộ html5 có thể có phiên asp.net không? (ứng dụng web cục bộ cho iPhone)
- 22. Buiding ASP.NET ứng dụng mà không có phiên nhà nước?
- 23. IIS không chạy ứng dụng ASP.NET MVC
- 24. Cách chia sẻ logic nghiệp vụ giữa nhiều ứng dụng
- 25. Nhập dữ liệu từ db ứng dụng miễn phí vào ứng dụng trả phí db
- 26. lớp tĩnh trong ứng dụng Asp.NET MVC
- 27. Chia sẻ Cache ASP.Net
- 28. Phát triển ứng dụng JavaScript Windows 8 - Chia sẻ Charm - Thay đổi thông báo mặc định từ "Ứng dụng này không thể chia sẻ".
- 29. Hai ứng dụng có UserID được chia sẻ
- 30. Các thư viện được chia sẻ có sử dụng cùng một vùng với ứng dụng không?
Có đó là những gì tôi đã có trong tâm trí quá. Tôi đã thực sự quan tâm nhiều hơn bởi một ví dụ thực tế hơn là vấn đề thực sự của tôi là chia sẻ dữ liệu mà IIS/ASP.NET tạo ra dưới mui xe (authentification/session for inst). Nó sẽ yêu cầu để tạo ra một mô-đun cho inst ... – Dave
Một cách tốt hơn để chia sẻ xác thực là bằng cách sử dụng Oauth 2. Google, Facebook, Twitter và rất nhiều công ty Internet làm auth theo cách này. Bạn sẽ cần triển khai nhà cung cấp oauth. – barbolo