Próbuję znaleźć różnicę między inproc i outproc w C#. Jeśli mam dll uruchomiony na serwerze i moje pytanie będzie działał zarówno inproc i outproc? Pod względem wydajności, który proces jest lepszy?Różnica między inproc i outproc
Odpowiedz
Serwer inproc działa w tym samym procesie co aplikacja wywołująca. Jest blisko normalnego wywołania funkcji w bibliotece DLL. Wywołując serwer outproc, dane muszą zostać zebrane w całym procesie, co jest kosztowną operacją. Serwer inproc jest szybki, ale może obniżyć twoją aplikację.
Co masz na myśli, mówiąc "obniżyć swój wniosek"? Czy mógłbyś to sprecyzować? Czy rozmawiamy o sesji, czy rejestrujemy? Nie widzę, gdzie określono PO. Jeśli logujesz się, to zakładam, że masz na myśli to, że jeśli operacja dziennika się nie powiedzie, może to spowodować awarię całej aplikacji, ale jak to jest inne niż poza proc? – Sinaesthetic
Myślę, że ma na myśli coś podobnego do tego, że jeśli serwerowi outproc zabraknie pamięci, ulegnie awarii, ale sam program pozostanie przy życiu i będzie mógł go ponownie uruchomić. Np. Std :: vector jest szybki, ale używa stosu/sterty procesu kontenera, a jeśli zabraknie mu pamięci, cały program ulega awarii, ale jeśli zapakujesz go na serwer outproc, program kontenera pozostanie przy życiu. – Dmitry
Od MSDN
stanu sesji ASP.NET obsługuje kilka różnych opcji przechowywania danych sesyjnych. Każda opcja jest identyfikowana przez wartość w wyliczaniu SessionStateMode. Na poniższej liście opisano dostępne tryby stanu sesji:
Tryb InProc, który przechowuje stan sesji w pamięci na serwerze sieci Web. To jest domyślne.
Tryb StateServer/OutProc, który przechowuje stan sesji w oddzielnym procesie nazywanym usługą stanu ASP.NET. Zapewnia to zachowanie stanu sesji po ponownym uruchomieniu aplikacji sieci Web, a także udostępnia stan sesji wielu serwerom sieci Web w farmie sieci Web.
Tryb SQLServer przechowuje stan sesji w bazie danych SQL Server. Zapewnia to zachowanie stanu sesji po ponownym uruchomieniu aplikacji sieci Web, a także udostępnia stan sesji wielu serwerom sieci Web w farmie sieci Web.
Tryb niestandardowy, który umożliwia określenie niestandardowego dostawcy magazynu. Tryb wyłączenia, który wyłącza stan sesji.
Ja * myślę * on mówi o stanie sesji COM, a nie ASP.Net. – tzerb
- 1. Różnica między unwrapObservable i()
- 2. Różnica między "**/* /" i "** /"?
- 3. Różnica między | = i^= css
- 4. Composer.phar różnica między | i ||
- 5. Różnica między "% ~ dp0" i ". \"?
- 6. Różnica między ". +" I ". +?"
- 7. MySQL: Różnica między ",", "i"
- 8. Różnica między (++ i) oraz (i ++)
- 9. Różnica kręgosłupa Różnica między CompositeView i CollectionView?
- 10. Różnica między logger.info i logger.debug
- 11. Różnica między fgets i fscanf?
- 12. Różnica między NSLog i DLog
- 13. Różnica między RoutedEventHandler i EventHandler
- 14. Różnica między obrysem i wypełnieniem?
- 15. Różnica między Parameters.Add i Parameters.AddWithValue
- 16. Różnica między putback() i unget()
- 17. Różnica między Delegate.BeginInvoke i Thread.Start
- 18. Różnica między TVar i TMVar
- 19. Różnica między DatagramSocket i DatagramChannel
- 20. Różnica między intent.setClass() i intent.setComponent()
- 21. różnica między -lgcc_s i gcc
- 22. Różnica między string.ToLower i TextInfo.ToLower
- 23. Różnica między javax.sql i java.sql?
- 24. Różnica między paint() i paintcomponent()?
- 25. Różnica między app.all ("*") i app.use ("/")
- 26. Różnica między c() i append()
- 27. Różnica między KeyEventArgs.systemKey i KeyEventArgs.Key
- 28. Różnica między org.apache.spark.ml.classification i org.apache.spark.mllib.classification
- 29. Różnica między GotFocus i GotKeyboardFocus
- 30. Różnica między JVM i HotSpot?
Wow, to bardzo szeroki temat, z dużą ilością "to zależy". Ważną różnicą jest to, że kod uruchamiany w-proc może wywoływać nawzajem metody w tej samej przestrzeni adresowej. Jeśli jest to proces wychodzący z procesora, konieczne jest uporządkowanie parametrów i przekroczenie granic przestrzeni procesowej, które kosztują czas i procesor. – Richard