0

HttpRuntime.Cacheを使用してサイトの一部をキャッシュしています。別のプロセス(コンソール)で、自分のサイトにあるキャッシュの削除機能を呼び出して、いくつかのキャッシュキーを削除しようとしています。問題は、サイトキャッシュが削除されていないように見えるため、コンソールキャッシュとサイトキャッシュの間に接続がないように見えることです。私はおそらくそれを間違っています。助けてください?

4

1 に答える 1

4

それらは異なるプロセスで実行されてHttpRuntimeおり、実行中のプロセス/コンテキスト内に含まれています。したがって、コンソールアプリはクリアCacheされますが、これはコンソールのプロセスのキャッシュであり、Webアプリケーションのプロセス(別のHttpRuntime)ではありません。

コンソールアプリでWebアプリケーションのキャッシュをクリアする場合は、コンソールアプリケーションが呼び出すことができるアクションメソッドをWebアプリケーションで公開する必要があります。そのアクションメソッド内で、をクリアできますHttpRuntime.Cache

コントローラのアクションメソッドがどのように見えるかに関するいくつかの擬似コード:

[HttpDelete]
public ActionResult ClearCache(){
  HttpRuntime.Cache.Clear();
}
于 2012-08-07T10:59:36.457 に答える