我想使用jQuery來進行一些AJAX調用,但是因爲我在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調用?
回答
隨着IIS通配符映射將首先運行經由通配符處理程序的初始請求。這將在您的CMS進行任何URL重寫(或URL路由)之前完成。
我認爲這就是爲什麼你得到404。
您還可以嘗試禁用通配符映射中的「驗證文件存在」複選框,以滿足實際URL將在稍後重寫爲其他內容時的情況。
這不是一個完整的答案,但我希望它指出你在一個解決方案的方向。
您是否嘗試過直接在瀏覽器中訪問url,並使用一些放置良好的斷點來追蹤問題?
如果你得到404s,這聽起來像你的路由規則不起作用。
[我會更新這個,如果你可以給你所看到的行爲,一些更多的信息]
UPDATE
我認爲可能發生的是:
你」重新爲您的文件提供具有擴展一個單獨的映射(在這些情況下的.aspx和的.asmx):
本地主機/ UserChecker.aspx/CheckIfUserEmailsExists
localhost/UserChecker.asmx/CheckIfUserEmailsExists
當您關閉通配符映射時正在使用這些映射,而'/ CheckIfUserEmailsExists'被處理使用或忽略。 打開通配符映射時,路由不會通知應用程序如何正確「路由」。
如果刪除了擴展名(通配符映射處於打開狀態),則執行以下工作嗎?
本地主機/ UserChecker/CheckIfUserEmailsExists
我試過調試它,但我不完全確定我在找什麼。我在global.asax.cs'Application_BeginRequest'事件處理程序中放置了一個斷點,並且跳過了Kentico的路由代碼,但它仍然給了我404。如果我自己訪問服務或頁面,它可以正常工作。但是,當我添加「.NET Invoke」語法,並添加「/」和方法名稱不起作用。如果我禁用通配符映射,一切正常。 – 2009-08-13 13:41:12
刪除擴展名不起作用,我不知道這將如何幫助嗎? IIS和.NET如何知道如何管理請求? – 2009-08-13 14:09:25
我不知道Kentico,你說你在做某種路由,你試圖使用通配符的事實意味着你試圖通過asp dll發送所有的請求 - 除非我誤解了這個問題! – Lewis 2009-08-13 14:12:29
將相應的URL添加到排除列表中:使用「站點管理器」 - >「設置」選項卡中的「排除的URL」設置。 (basic help documentation)
我建議檢查CMS框架之外的URl;問題必須與URL路由。沒有tsure它是如何在沒有通配符映射的情況下工作的。
需要了解的問題: 1.您是否在沒有通配符映射的情況下嘗試運行CMS? 2.這個CMS系統如何與IIS交互; IASPI dll?或HTTP處理程序/模塊?
- 1. IIS 6通配符映射
- 2. Cookie破壞會話破壞,爲什麼?
- 3. 爲什麼stackpanel會破壞我的pivotviewer?
- 4. 爲什麼ajax調用會打破jQuery?
- 5. 無擴展IIS通配符映射
- 6. 爲什麼PHP的utf8_encode會破壞我的utf-8字符串?
- 7. 爲什麼映射對象PK破壞ExpressMapper?
- 8. 爲什麼pgettext_lazy會破壞我的模板,但ugettext_lazy不會?
- 9. 爲什麼我的標籤欄會破壞我的AndEngine活動?
- 10. 爲什麼我的count()子句會破壞我的while語句?
- 11. 爲什麼添加我的Sql UPDATE會破壞我的循環?
- 12. 爲什麼我的ScrollViewer會破壞我的網格佈局? WPF
- 13. 爲什麼解引用節點會破壞我的鏈表?
- 14. 爲什麼使用ActionListener會破壞我的Swing Applet?
- 15. 爲什麼克隆repo會破壞我的yii2應用程序?
- 16. 爲什麼update_attributes會破壞我的Rails應用程序?
- 17. 將我的Github用戶名更改爲SnakeCase會破壞什麼?
- 18. 爲什麼位圖不會破壞?
- 19. 爲什麼libgdx SpriteBatch/BitmapFont會破壞Texture.bind?
- 20. 爲什麼FakeFS會破壞RSpec?
- 21. 爲什麼bootstraps glyphicons會破壞元素?
- 22. 爲什麼PHP會話被破壞?
- 23. 爲什麼SNDBUF太低會破壞HTTP?
- 24. 爲什麼IIS ServerManager類會禁用我的處理程序映射?
- 25. 爲什麼在循環中調用ReadConsole會破壞堆棧?
- 26. 爲什麼我的服務被破壞?
- 27. 爲什麼我的Debug.Write被破壞?
- 28. 爲什麼我的代碼被破壞?
- 29. wp_head爲什麼破壞我的CSS?
- 30. 爲什麼我的System.nanoTime()被破壞?
你也在做網址路由嗎? – 2009-08-13 13:13:14
檢查我的更新。 – 2009-08-13 13:27:06