Saltar al contenido

¿Cómo accedo a RouteTable.Routes.MapHttpRoute?

Siéntete libre de divulgar nuestros post y códigos en tus redes sociales, apóyanos para aumentar esta comunidad.

Si alguien tiene este mismo problema en C#, siga leyendo.

También estoy usando una aplicación de formularios web y configuro el enrutamiento a través del Global.asax expediente. Para mí, Intellisense fue 100% correcto y no se compilaría de todos modos. Para que esto funcione, tuve que agregar las siguientes directivas de uso.

using System.Web.Http;

y

using System.Web.Routing;

Ten cuidado no usar using System.Web.Http.Routing por accidente. Esto no funcionará.

Debe agregar la referencia a Sistema.Web.Http.WebHost ensamblaje y asegúrese de tener

using System.Web.Http;

Por qué ? MapaHttpRuta se define en dos conjuntos, en System.Web.Http:

public static System.Web.Http.Routing.IHttpRoute MapHttpRoute(
    this System.Web.Http.HttpRouteCollection routes, string name, string routeTemplate)

Miembro de System.Web.Http.HttpRouteCollectionExtensions

y en System.Web.Http.WebHost

public static Route MapHttpRoute(
    this RouteCollection routes, string name, string routeTemplate, object defaults);

El primero es una extensión en HttpRouteCollection

El segundo es una extensión en RouteCollection

Entonces, cuando tiene una aplicación de formularios web, sus rutas se definen en un RouteCollection por lo que necesita el WebHost versión.

Es porque la arquitectura permite que WebApi se aloje también fuera de IIS. ver Hosting WebApi

Encontré este hilo, que indica que IntelliSense aparentemente tiene un problema con esto, pero si escribe algo como lo siguiente, se compilará y ejecutará:

RouteTable.Routes.MapHttpRoute("MyApi", "api/controller")

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *