Разница между 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. Это обеспечивает сохранение состояния сеанса при перезапуске веб-приложения, а также делает состояние сеанса доступным для нескольких веб-серверов в веб-ферме.

Пользовательский режим, который позволяет указать пользовательский поставщик хранилища. Режим выключения, который отключает состояние сеанса.

Другие вопросы по тегам