Tôi đang cố gắng tìm sự khác biệt giữa inproc và outproc trong C#. Nếu tôi có một dll chạy trên máy chủ và câu hỏi của tôi là nó sẽ chạy trong cả hai inproc và outproc? Hiệu suất-khôn ngoan mà quá trình là tốt hơn?Sự khác biệt giữa inproc và outproc
Trả lời
Máy chủ inproc chạy trong cùng một quá trình với ứng dụng gọi điện. Nó gần với một cuộc gọi chức năng bình thường trên một dll. Gọi một máy chủ outproc, dữ liệu cần phải được marshalled trên toàn bộ quá trình boundry đó là một hoạt động đắt tiền. Máy chủ inproc nhanh nhưng có thể làm giảm ứng dụng của bạn.
Bạn có ý gì khi "đưa ứng dụng của bạn xuống"? Bạn có thể cụ thể hơn không? Chúng ta đang nói chuyện, hoặc đăng nhập? Tôi không thấy OP được chỉ định ở đâu. Nếu đăng nhập, sau đó tôi giả định những gì bạn có nghĩa là nếu các hoạt động đăng nhập thất bại, sau đó nó có thể sụp đổ toàn bộ ứng dụng, nhưng làm thế nào là rằng bất kỳ khác nhau hơn proc ra? – Sinaesthetic
Tôi nghĩ rằng anh ấy có nghĩa là một cái gì đó tương tự như nếu máy chủ outproc hết bộ nhớ, nó sẽ sụp đổ nhưng bản thân chương trình sẽ vẫn còn sống và có thể khởi động lại nó. Ví dụ std :: vector là nhanh nhưng sử dụng stack/heap của quá trình container, và nếu nó hết bộ nhớ, toàn bộ chương trình bị treo, nhưng nếu bạn bọc nó trong một máy chủ outproc, chương trình container vẫn còn sống. – Dmitry
Từ MSDN
trạng thái phiên ASP.NET hỗ trợ tùy chọn lưu trữ khác nhau cho dữ liệu phiên. Mỗi tùy chọn được xác định bởi một giá trị trong liệt kê SessionStateMode. Danh sách sau đây mô tả các chế độ trạng thái phiên có sẵn:
Chế độ InProc, lưu trữ trạng thái phiên trong bộ nhớ trên máy chủ Web. Đây là mặc định.
Chế độ máy chủ/OutProc, lưu trữ trạng thái phiên trong một quá trình riêng biệt được gọi là dịch vụ trạng thái ASP.NET. Điều này đảm bảo rằng trạng thái phiên được giữ nguyên nếu ứng dụng Web được khởi động lại và cũng làm cho trạng thái phiên có sẵn cho nhiều máy chủ Web trong một trang trại Web.
Chế độ SQLServer lưu trữ trạng thái phiên trong cơ sở dữ liệu SQL Server. Điều này đảm bảo rằng trạng thái phiên được giữ nguyên nếu ứng dụng Web được khởi động lại và cũng làm cho trạng thái phiên có sẵn cho nhiều máy chủ Web trong một trang trại Web.
Chế độ tùy chỉnh, cho phép bạn chỉ định nhà cung cấp lưu trữ tùy chỉnh. Chế độ tắt, tắt chế độ phiên.
Tôi nghĩ * anh ấy nói về COM, chứ không phải trạng thái phiên ASP.Net. – tzerb
- 1. Sự khác biệt giữa $ (...) và `...`
- 2. Sự khác biệt giữa. và #
- 3. Sự khác biệt giữa $ * và $ @
- 4. Sự khác biệt giữa ". +" Và ". +?"
- 5. Sự khác biệt giữa "**/* /" và "** /"?
- 6. Sự khác biệt giữa = và: =
- 7. Sự khác biệt về sự khác biệt giữa Matplotlib giữa Agg và Cairo
- 8. Sự khác biệt giữa Html.RenderAction và Html.Action
- 9. Sự khác biệt giữa cookie và phiên?
- 10. Sự khác biệt giữa '.' và "." trong java
- 11. Sự khác biệt giữa SimpleDB và S3
- 12. C++ - Sự khác biệt giữa (*). và ->?
- 13. Sự khác biệt giữa offsetHeight và clientHeight
- 14. Sự khác biệt giữa RDLC và SSRS
- 15. Sự khác biệt giữa "\ n" và Environment.NewLine
- 16. Sự khác biệt giữa qt và PyQt4
- 17. Sự khác biệt giữa AForge và OpenCV
- 18. Sự khác biệt giữa toFixed() và toPrecision()?
- 19. sự khác biệt giữa cacao và cocoatouch
- 20. Sự khác biệt giữa smtpClient.send() và smtpClient.SendAsync()?
- 21. Sự khác biệt giữa window.location.host và window.location.hostname
- 22. Sự khác biệt giữa DTLS và TLS
- 23. Sự khác biệt giữa Mealy và Moore
- 24. sự khác biệt giữa createRfcommSocketToServiceRecord và createRfcommSocket
- 25. Sự khác biệt giữa Arrays.sort() và Arrays.parallelSort()
- 26. sự khác biệt giữa orm và pdo
- 27. Sự khác biệt giữa nproc và ulimit?
- 28. Sự khác biệt giữa apc_add và apc_store?
- 29. Sự khác biệt giữa mb_substr và substr
- 30. Sự khác biệt giữa p4diff và p4diff2
Ồ, đây là một chủ đề rất rộng, với rất nhiều "nó phụ thuộc". Một sự khác biệt quan trọng là mã chạy trong proc có thể gọi cho từng phương thức khác trong cùng một không gian địa chỉ. Nếu nó là out-proc cần phải được marshalling các thông số và vượt qua ranh giới không gian quá trình, mà chi phí thời gian và CPU. – Richard