Разница между inproc и outproc
Я пытаюсь найти разницу между inproc и outproc в C#. Если у меня на сервере работает dll и мой вопрос, будет ли он работать как в inproc, так и в outproc? Что касается производительности, какой процесс лучше?
2 ответа
Сервер inproc работает в том же процессе, что и вызывающее приложение. Это близко к обычному вызову функции на DLL. При вызове сервера outproc данные должны быть распределены через границы процесса, что является дорогостоящей операцией. Сервер inproc работает быстро, но может привести к остановке вашего приложения.
Из MSDN
Состояние сеанса ASP.NET поддерживает несколько различных вариантов хранения данных сеанса. Каждый параметр определяется значением в перечислении SessionStateMode. В следующем списке описаны доступные режимы состояния сеанса:
Режим InProc, который сохраняет состояние сеанса в памяти на веб-сервере. Это по умолчанию.
StateServer mode / OutProc, который хранит состояние сеанса в отдельном процессе, называемом службой состояний ASP.NET. Это обеспечивает сохранение состояния сеанса при перезапуске веб-приложения, а также делает состояние сеанса доступным для нескольких веб-серверов в веб-ферме.
Режим SQLServer сохраняет состояние сеанса в базе данных SQL Server. Это обеспечивает сохранение состояния сеанса при перезапуске веб-приложения, а также делает состояние сеанса доступным для нескольких веб-серверов в веб-ферме.
Пользовательский режим, который позволяет указать пользовательский поставщик хранилища. Режим выключения, который отключает состояние сеанса.