私はいくつかのAJAX呼び出しを行うためにjQueryを使用しようとしていますが、IIS 6で(.NETへの)ワイルドカードマッピングが有効になっているため、動作していないようです。マッピングを無効にすると、すべてが魔法のように動作します。
私は、Webメソッド属性を.aspxページと.asmx Webサービスの両方のメソッドに配置しましたが、どちらも機能しません。ここで私はAJAXのために使用していたサンプルのURLを呼び出します:
localhost/UserChecker.aspx/CheckIfUserEmailsExists
localhost/UserChecker.asmx/CheckIfUserEmailsExists
私はそれは.NETがURLの解釈されている方法で何かである必要があります理解が、私は全くわからないんだけどなぜ。もっと重要なのは、ワイルドカードマッピングを無効にする以外に、どうやって修正するのか分かりません!他の方法はありますか?
UPDATE
私が使用しているCMS(Kentico)いくつかのURLルーティングを行いますが、私はglobal.asax.csコード内のルーティングをスキップしても、私はまだ404
を取得前もって感謝します!IISのワイルドカードマッピングがAJAX呼び出しを壊すのはなぜですか?
答えて
最初のワイルドカードハンドラを経由して最初の要求を実行します。これは、CMSによるURL書き換え(またはURLルーティング)の前に実行されます。
私はあなたが404を取得している理由だと思います。
また、実際のURLが後で別のものに書き換えられる場合のシナリオに対応するために、ワイルドカードマッピングの「ファイルが存在する」チェックボックスを無効にすることもできます。
これは完全な答えではありませんが、解決策の方向を示すことを願っています。
ブラウザでURLに直接アクセスし、適切に配置されたブレークポイントを使用して問題を追跡しましたか?
404を取得している場合、ルーティングのルールが機能していないように思えます。
[あなたが見ている行動について、もう少し情報を与えることができれば、私はこれを更新します]
UPDATE
私は何が起こっされるかもしれないが、このだと思う:
あなたは」拡張子を持つファイルのための別々のマッピングを提供する再(この例では.aspxのとの.asmx):
はlocalhost/UserChecker.aspx/CheckIfUserEmailsExists
localhost/UserChecker.asmx/CheckIfUserEmailsExists
これらのマッピングは、ワイルドカードマッピングをオフにし、 '/ CheckIfUserEmailsExists'を使用するか無視するときに使用されます。 ワイルドカードマッピングをオンにすると、経路指定はアプリケーションに正しく経路指定する方法を知らせていません。
拡張機能を削除した場合(ワイルドカードマッピングを有効にしている場合)は、次の作業を行いますか? IIS上のワイルドカードマッピングで
はlocalhost/UserChecker/CheckIfUserEmailsExists
私はそれをデバッグしようとしましたが、私が探しているものが完全にはわかりません。私はglobal.asax.csの 'Application_BeginRequest'イベントハンドラにブレークポイントを置き、Kenticoのルーティングコードをスキップしましたが、それでも私に404が与えられます。サービスやページにアクセスするとうまくいきます。しかし、 ".NET Invoke"構文を追加して "/"とメソッド名を追加すると、動作しません。ワイルドカードマッピングを無効にすると、すべて正常に動作します。 –
拡張機能を削除しても機能しません。どのように役立つでしょうか? IISと.NETはどのようにして要求の管理方法を知ることができますか? –
私はKenticoを知らないし、ワイルドカードを使用しようとしているという事実は、あなたがasp dll経由ですべてのリクエストを送信しようとしていることを意味しています - 質問を誤解しない限り! – Lewis
除外リストに適切なURLを追加する:[サイトマネージャー] - [設定]タブの[除外されたURL]設定を使用します。 (basic help documentation)
あなたのCMSフレームワーク外のUR1をチェックすることをお勧めします。問題はURLルーティングでなければなりません。ワイルドカードマッピングなしでどのように動作していたかはわかりません。
質問: 1.ワイルドカードマッピングなしで試してみるとあなたのCMSは稼動していますか? 2.このCMSシステムはIISとどのように対話しますか。 IASPI dll?またはHTTPハンドラ/モジュール?
- 1. ajax呼び出しがjqueryを壊すのはなぜですか?
- 2. AJAX呼び出しは、IIS 7.5で404(ローカル)を返すが、他のIIS
- 3. なぜ私のAJAX呼び出しが失敗しますか?
- 4. なぜこのJQuery/AJAX呼び出しが機能しないのですか?
- 5. なぜ私のajax呼び出しには時間がかかりますか?
- 6. iisからXMLRPCを呼び出すときに、フィドラーが要求をキャプチャしないのはなぜですか?
- 7. なぜフォーム破壊イベントが複数回呼び出されるのですか?
- 8. なぜajaxメソッドがエラー関数を呼び出すのですか?
- 9. Ruby:putsがto_aryを呼び出すのはなぜですか?
- 10. jQuery ajaxで関数asmxの呼び出しを呼び出す
- 11. jQueryで別のAJAX呼び出しの中でAJAX呼び出しを行うことはできますか?
- 12. なぜこのAJAXコールバックは呼び出されませんか?
- 13. iis配備後にweb api呼び出しがhtmlページを返すのはなぜですか?
- 14. 私の$ .ajax呼び出しがjsonオブジェクトをcshtmlファイルから返さないのはなぜですか?
- 15. BackgroundWorker.OnDoWorkが呼び出されないのはなぜですか?
- 16. クラスが呼び出されないのはなぜですか?
- 17. afterRenderが呼び出されないのはなぜですか?
- 18. FirebaseInstanceIdService.onTokenRefresh()が呼び出されないのはなぜですか?
- 19. コールバックが呼び出されないのはなぜですか?
- 20. gameCenterViewControllerDidFinishが呼び出されないのはなぜですか?
- 21. アクションフィルタが呼び出されないのはなぜですか?
- 22. コンストラクタが呼び出されないのはなぜですか?
- 23. DefaultAnnotationHandlerMappingが呼び出されないのはなぜですか?
- 24. メソッドが呼び出されないのはなぜですか?
- 25. -didDeselectRowAtIndexPathが呼び出されないのはなぜですか?
- 26. デリゲートメソッドが呼び出されないのはなぜですか?
- 27. ViewForAnnotationが呼び出されないのはなぜですか?
- 28. OnActivateが呼び出されないのはなぜですか?
- 29. コンストラクタが呼び出されないのはなぜですか?
- 30. デストラクタが呼び出されないのはなぜですか?
また、URLルーティングを行っていますか? –
更新を確認してください。 –