私はc#でinprocとoutprocの違いを見つけようとしています。サーバーでdllを実行している場合、質問はinprocとoutprocの両方で実行されますか?パフォーマンスに関しては、どちらのプロセスが優れていますか?
Inprocサーバーは、呼び出し元のアプリケーションと同じプロセスで実行されます。これは、dllの通常の関数呼び出しに近いものです。 outprocサーバーを呼び出すと、データをプロセス境界全体でマーシャリングする必要がありますが、これはコストのかかる操作です。 inprocサーバーは高速ですが、アプリケーションをダウンさせる可能性があります。
ASP.NETセッション状態は、セッションデータのいくつかの異なるストレージオプションをサポートします。各オプションは、SessionStateMode列挙の値によって識別されます。次のリストは、使用可能なセッション状態モードについて説明しています。
InProcモード。セッション状態をWebサーバーのメモリに保存します。これがデフォルトです。
StateServer mode/OutProc。これは、ASP.NET状態サービスと呼ばれる別のプロセスにセッション状態を格納します。これにより、Webアプリケーションが再起動された場合でもセッション状態が保持され、Webファーム内の複数のWebサーバーでセッション状態を利用できるようになります。
SQLServerモードは、セッション状態をSQLServerデータベースに格納します。これにより、Webアプリケーションが再起動された場合でもセッション状態が保持され、Webファーム内の複数のWebサーバーでセッション状態を利用できるようになります。
カスタムモード。カスタムストレージプロバイダーを指定できます。セッション状態を無効にするオフモード。