Tengo un sitio web Asp.Net MVC existente y también me gustaría ofrecer un servicio web del mismo dominio.Asp.Net MVC y servicios web
¿Cuál es la mejor manera de abordar la creación de un servicio web en esta escena?
¿Añado a este proyecto o ...?
Tengo un sitio web Asp.Net MVC existente y también me gustaría ofrecer un servicio web del mismo dominio.Asp.Net MVC y servicios web
¿Cuál es la mejor manera de abordar la creación de un servicio web en esta escena?
¿Añado a este proyecto o ...?
Debería poder agregar un archivo WebService directamente al proyecto MVC. Haga clic derecho en la solución y seleccione agregar nuevo elemento, luego seleccione la categoría web y en la parte inferior de la lista debe haber servicio web.
Simplemente recuerde comprobar que las rutas no consumen la llamada al servicio web.
De esta forma, el servicio web puede acceder a las mismas clases de modelo que la aplicación MVC.
Puede agregar un servicio web al proyecto tal como lo hace en las aplicaciones web regulares de ASP.NET, sin embargo, MVC Básicamente es un servicio web. Puede crear un controlador que maneje todas las solicitudes que desea que maneje su servicio web.
Con el advenimiento de MVC es bastante común hacer aplicaciones que solo cargan una vista una vez, luego usan AJAX y las secuencias de comandos del cliente casi todo el resto de la vida útil de la aplicación. Sus llamadas AJAX solo activan los métodos de acción para sus productos y luego usan la delicia que es JSON para analizar los datos y utilizarlos.
En mi opinión, el diseño de un servicio web como controlador en lugar de usar [WebMethods] es mucho más simple y divertido.
En primer lugar, la pregunta es "¿qué queremos decir con servicio web?" Esto puede significar cualquier cosa desde una página de MVC que responda usando XML, JSON o algún otro formato acordado hasta SOAP completo y pesadillas gravadas WS- *.
De todos modos, tal vez el mejor lugar para comenzar es el WCF restful services - estos juegan muy bien con MVC, incluido el enrutamiento.
Los niños geniales están usando openrasta.
Puede devolver un JsonResult de una de sus Acciones de controlador MCV, puede ser lo que necesita sin tener que incluir proyectos adicionales/código/dependencias? – Kane
Sí, como se indicó anteriormente. Devuelva Json/Xml/Html de sus Controladores. Serialización integrada en el marco MVC. Por supuesto, si desea seguridad/autorización avanzada, flexibilidad de punto final, es posible que necesite WCF. Pero para los servicios web básicos, MVC está bien. – RPM1984
@ RPM1984 - ¿Cómo implementa la autenticación para esto? ¿Enviar un nombre de usuario y contraseña con cada solicitud? –