web-dev-qa-db-ja.com

inprocとoutprocの違い

私はc#でinprocとoutprocの違いを見つけようとしています。サーバーでdllを実行している場合、質問はinprocとoutprocの両方で実行されますか?パフォーマンスに関しては、どちらのプロセスが優れていますか?

8
manjuvreddy

Inprocサーバーは、呼び出し元のアプリケーションと同じプロセスで実行されます。これは、dllの通常の関数呼び出しに近いものです。 outprocサーバーを呼び出すと、データをプロセス境界全体でマーシャリングする必要がありますが、これはコストのかかる操作です。 inprocサーバーは高速ですが、アプリケーションをダウンさせる可能性があります。

17
tzerb

から [〜#〜] msdn [〜#〜]

ASP.NETセッション状態は、セッションデータのいくつかの異なるストレージオプションをサポートします。各オプションは、SessionStateMode列挙の値によって識別されます。次のリストは、使用可能なセッション状態モードについて説明しています。

InProcモード。セッション状態をWebサーバーのメモリに保存します。これがデフォルトです。

StateServer mode/OutProc。これは、ASP.NET状態サービスと呼ばれる別のプロセスにセッション状態を格納します。これにより、Webアプリケーションが再起動された場合でもセッション状態が保持され、Webファーム内の複数のWebサーバーでセッション状態を利用できるようになります。

SQLServerモードは、セッション状態をSQLServerデータベースに格納します。これにより、Webアプリケーションが再起動された場合でもセッション状態が保持され、Webファーム内の複数のWebサーバーでセッション状態を利用できるようになります。

カスタムモード。カスタムストレージプロバイダーを指定できます。セッション状態を無効にするオフモード。

9
Ehsan