Я пытаюсь получить доступ к /elmah.axd в моем Broswer, но он возвращает:Elmah.axd на WebAPI 2.2 - Нет HTTP ресурсов не было найдено
{"message":"No HTTP resource was found that matches the request URI 'http://services.domain.com/elmah.axd'."}
Сервер локальной (127.0.0.1) и даже в том, что у меня есть свои web.config параметры Elmah, чтобы закрепить его таким образом:
<elmah>
<security allowRemoteAccess="true" />
</elmah>
Мой WebApiConfig выглядит следующим образом:
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Locally only you will be able to see the exception errors
config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.LocalOnly;
// Web API routes
config.Routes.IgnoreRoute("elmah", "elmah.axd");
config.Routes.IgnoreRoute("allemah", "elmah.axd/{*pathInfo}");
config.Routes.IgnoreRoute("elmahgeneric", "{resource}.axd/{*everything}");
config.MapHttpAttributeRoutes();
var jsonFormatter = config.Formatters.OfType<JsonMediaTypeFormatter>().First();
jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
// Remove the XML formatter
config.Formatters.Remove(config.Formatters.XmlFormatter);
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
Я даже пытался только игнорирование один маршрут в то время из любой из трех комбинаций и не повезло.
наконец мой global.asax выглядит следующим образом:
protected void Application_Start()
{
GlobalConfiguration.Configure(WebApiConfig.Register);
}
Любой намек или идея о том, что я мог бы не быть, было бы хорошо.
Заранее благодарим за то, что вы потратили время на это.
Наконец-то нашел настоящий ответ этой странной проблемы, спасибо @acido –
Это сработало для меня, но мне нужен был только «RouteTable.Routes.Ignore» («{resource} .axd/{* pathInfo}"); 'in Applicaiton_Start. – Brian