私は、貧弱なサイトコードのドキュメントと私の小さな経験に起因する問題があります。Sitecore 8 MVC ajaxコールルートレジスタ
ケース: 私にはセットアップされていないサイトコアプロジェクトがありますが、私はそれを開発しなければなりませんでした。
問題: いくつかのajax呼び出しで3つのカスタムルートを追加する必要があります。私はrouteconfig.csファイルを持っていて、ここにそれらのルートを追加しましたが、どこにもグローバルクラスがないので、これは実行されないようです。
だから、私は、これらのパイプラインを使用する必要がありますが、私は正確にアプリが、私は404を扱う他の誰かによって開発された1持って
を開始したとき、一度だけ実行されますいずれかを使用する方法を理解していないことを読んでいるのでこのリクエストは、リクエストごとに実行されます。ルートが存在するかどうかをチェックしてこのプロセスに登録したくない場合
他の方法はありますか?
これは、今どのように動作するかです:
namespace SS.Configuration.Pipelines
{
public class Custom404ResolverPipeline : HttpRequestProcessor
{
public override void Process(HttpRequestArgs args)
{
Assert.ArgumentNotNull(args, "args");
if (RouteTable.Routes["AjaxCall"] == null) RouteConfig.RegisterRoutes(RouteTable.Routes);
//do some other stuff
の下にあなたのルートをマップすることができますそれは私が得る:パイプラインを得ることができませんでした:preprocessRequest(ドメイン:) –
私の問題は、私のsitecore.configで、これは欠けていると思うSitecore.Mvc.Pipelines.Loader.InitializeRoutesこれは正常ですか? –
クリーンなSitecoreのインストールでは正常ではありません。 'InitializeRoutes'プロセッサは' Sitecore.Mvc.config'で定義されています。存在していることを確認し、これを削除する別の設定はありません。 '/ sitecore/admin/showconfig.aspx'を参照すると、最後にマージされたSitecore設定を見ることができます。 – jammykam