Web API 2をKentico 9 CMSプラットフォーム(一般的にはKentico's documentationに従います)で実装しており、全体的にうまくいきます。しかし、私のコントローラでは、私はSiteContext.CurrentSite
が常にnullを返すことを発見しています。これは予想される動作ですか、何か間違っていますか?KenticoでWeb API 2を使用している場合、SiteContextはnullです
違いがありますが、プラットフォームがthis documentationの1つのドメインで複数のサイトをホストしているかどうかはわかりません。だから、私のサイトは、など
- domain.com/site1
- domain.com/site2
...以下のURLで実行されている...とAPIが提供されています次のパスの下で...
- domain.com/site1/customapi
- domain.com/site2/customapi
- など
は、現在、私がリクエストパスを引き出し、現在の要求がに関するものKenticoサイトを見つけるためにKenticoのSiteProvider
からサイトに対してこれを確認するために、Requestオブジェクトを使用したんだけど、私はwouldn APIはサイトの一部として実行されているので、必要はありません。
これを正しく接続するための方法はありますか? FYI私はKenticoの文脈から完全に切り離さだかのように、それはないですのでLocalizationContext.CurrentCulture
が答えを@マルタンmakarskyに溶液で...
感謝を
UPDATEをCultureInfo
オブジェクトを返すないことに気付きました以下。私は、 `それを試してみるように、まあRequest.GetCurrentSite()
public static SiteInfo GetCurrentSite(this HttpRequestMessage request)
{
return SiteInfoProvider.GetRunningSiteInfo(request.RequestUri.Host, System.Web.HttpRuntime.AppDomainAppPath);
}
面白いことに、同じ問題に直面したときに、私はこの質問に遭遇しました。申し訳ありませんが、以前は答えとしてマークしていませんでした。あなたは上にいる、これは正解です。このアプローチを使用する拡張メソッドについては、上記の私の編集を参照してください。 – getsetcode