に基づいてキャッシュするCacheCowを使用した:私は私のコントローラで次のようになります。WEBAPIエンドポイントを持っているパラメータ
[HttpGet]
public IHttpActionResult GetPerson(
string term = null,
string workspace = null)
{
try
{
logger.Info("AvPerson start: " + DateTime.Now);
if (term == null)
{
return BadRequest();
}
ICoreAVData api = MvcApplication.Container.Resolve<ICoreAVData>();
List<Person> persons = new List<Person>();
persons.AddRange(api.GetAllPersonsForTerm(term, workspace));
if (persons == null)
{
return NotFound();
}
return Ok(persons);
}
catch (Exception)
{
return InternalServerError();
}
}
term
パラメータは、常に異なるが、workspace
パラメータには、ユーザーに関連するものを表示することができます。ユーザーは自分のワークスペースを離れることはないので、そのパラメーターはユーザーの視点から一定です。
私は、Workspaceパラメータに基づいてCacheCowキャッシュを持つことができるのだろうかと思います。すなわち、 workspace1がそれをキャッシュする場合、workspace2がそれを別々にキャッシュします。
私は、ワークスペース固有のキャッシュを無効にするために何らかのロジックを追加する必要があることを認識しています。私はそれについて尋ねていない、私は私がそれをやる方法を知っていると信じているから。ワークスペースパラメータごとに別々のキャッシュエントリを持つことができるかどうかを知りたい。
config.Routes.MapHttpRoute(
name: "avperson",
routeTemplate: "api/v1/avperson/{action}/{id}",
defaults: new { controller = "avperson", id = RouteParameter.Optional }
);
任意のアイデア:
ここでは、このコントローラのための私のルーティングの設定はありますか?