Я интегрировал MVC3 в свое приложение для веб-форм, используя статью Скотта Хансельмана: http://www.hanselman.com/blog/IntegratingASPNETMVC3IntoExistingUpgradedASPNET4WebFormsApplications.aspx
Все хорошо и, кажется, работает нормально при локальном запуске на моем компьютере.Однако, когда это было развернуто для тестирования следующего URL, приложение ломается, давая мне 404: http://testserver/portal/Services/SEBService.asmx/SEBSearch
, если я просто введу: http://testserver/portal/Services/SEBService.asmx, оно видит службу
почесывая голову, я попытался исправить следующее в global.asax:
public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.IgnoreRoute("{resource}.asmx/{*pathInfo}"); }
Увы, все еще не работает :( Любые мысли, исправления, рекомендации будут с благодарностью приняты
исправлено следующим образом:
routes.Ignore("{*allasmx}", new { allasmx = @".*\.asmx(/.*)?" });
очень странно, как это работает на некоторых машинах, а не на других, но с учетом вышесказанного работает на всех машинах.
Мне пришлось обновить свой web.config со следующим.
<system.webServer> <handlers> <remove name="asmx" /> <add name="asmx" verb="*" path="*.asmx" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> </handlers> </system.webServer>