4

不安定なサードパーティの C++ DLL と対話する Web サービスに取り組んでいます。

これは頻繁に発生AccessViolationExceptionし (つまり、DLL 内でのクラッシュ)、回復する唯一の方法はアプリ プールをリサイクルすることです。

アプリケーション プールをプログラムでリサイクルする方法はありますか?

注: .NET DLL と web.config のタイムスタンプを変更しようとしましたが、w3wp.exe プロセスがネイティブ C++ DLL をアンロードするのに十分ではないようです。「DLL は使用中です」というエラーが返されるため、C++ DLL に触れることができません。

4

1 に答える 1

0

ボックスにアクセスできる場合は、 appcmd.exe を使用できます。

C:\dev>\windows\system32\inetsrv\appcmd.exe apppool  /?
Administration of application pools

APPCMD (command) APPPOOL <identifier> <-parameter1:value1 ...>

Supported commands:

  list      List application pools
  set       Configure application pool
  add       Add new application pool
  delete    Delete application pool
  start     Start application pool
  stop      Stop application pool
  recycle   Recycle application pool

(To get help for each command use /?, e.g. 'appcmd.exe add site /?'.)

コード内からそれを使用するSystem.Diagnostics.Processには、適切なリサイクル コマンドを実行するために使用する必要があります。

于 2012-06-27T22:09:43.030 に答える