我正在使用向我的Angular應用程序中的.axd
路徑提交「POST」請求的庫。由於我使用的是UI-Router,因此附加到URL的似乎阻止了請求正確到達DLL。使用UI路由器和MVC訪問HTTP處理程序5
需要在圖書館要達到的網址是:
http://localhost:8080/MyApplication/MyArea/ModuleName#/ThermalLabelWebEditor.axd?_=1478731762000
然而,所有我得到這個「POST」請求,背面是頁面的HTML數據。我相信這是MVC的一種症狀,它以默認方式處理路徑,搜索與上述URL匹配的頁面,而不是訪問DLL。
我所試圖實現的是沿
routes.IgnoreRoute("{*anything}/ThermalLabelWebEditor.axd/{*pathInfo}");
線的東西。然而,這是不是在MVC有效。
此外,我在我區的Web.config
文件已指定該庫所需的httpHandler
S,主要表現在:
<system.web>
<httpHandlers>
<add path="ThermalLabelWebEditor.axd" verb="*" type="Neodynamic.Web.ThermalLabelEditor.ThermalLabelWebEditor"/>
...
<system.webServer>
<handlers>
<add name="TLWE" path="ThermalLabelWebEditor.axd" verb="*" preCondition="integratedMode" type="Neodynamic.Web.ThermalLabelEditor.ThermalLabelWebEditor" />
現在,我知道我可以在我的角度模塊的配置指定$locationProvider.html5Mode(true);
。但是,如果可能的話,我想盡量避免這樣做,因爲它不能解決必須使用#
回退的較老的非HTML5瀏覽器的問題。
如何配置我的Web.config
該區域(或整個MVC應用程序)文件或RouteConfig.cs
以確保ThermalLabelWebEditor.axd
的請求將成功完成?我使用的是MVC 5,.NET 4.6,Angular 1.5.8和UI-Router v0.3.1。