Tengo un proyecto con el lado del servidor en C#. Me estoy conectando al servidor SQL y quiero pasarle parámetros a una tabla.
¿Cómo abro un archivo WebMethod? No puedo encontrarlo en ninguna parte ni en un proyecto de WebService.
PD
Leí que WebService asmx está obsoleto, pero al usar un proyecto ASP.NET Core Web API no podré pasar parámetros a SQL desde el lado del servidor en el navegador Chrome.
Gracias de antemano.
Creo que podrías estar un poco confundido; [WebMethod] no es un tipo de archivo, es un atributo que aplica a los métodos en su servicio para marcarlos como disponibles para llamar de forma remota. Una vez que haya agregado el atributo a un método, aparecerá en la lista de métodos exportados en la definición del servicio web del servicio.
using System; using System.Web; using System.Web.Services; [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class Service : System.Web.Services.WebService { public Service () { } [WebMethod] public string GetTime() { return DateTime.Now.ToString("HH:mm:ss"); } public string GetDate() { return DateTime.Today.ToString("yyyy-MM-dd"); } }Si ejecutaras esto, verías:
GetTime, pero no GetDate, porque GetDate no está marcado como método web
ASMX es muy antiguo: es simple, pero muy antiguo. Es cada vez más raro encontrar personas que creen servicios web basados en XML (por desgracia) en estos días, pero si lo hacen, probablemente usen WCF, no ASMX.
Te recomendaría cambiar a la API netcore; las plantillas funcionan desde el primer momento, creo que obtienes una Pronóstico del tiempo, puedes simplemente crear un nuevo proyecto, presionar reproducir y funciona. Puede interactuar con él usando, por ejemplo, Postman o Insomnia. Puede agregar nuevas operaciones, admite consultas parametrizadas a SQL, no necesita EF ... Y estará basado en JSON, que es más o menos la dirección en la que ha ido la web moderna.
Resolví este problema abriendo un nuevo proyecto como: Sitio web vacío de ASP.NET .
Le agregué un nuevo elemento como "Servicio web (ASMX)" que creó un archivo WebService.asmx y también un archivo WebService.cs dentro de una carpeta App_Code .
La ASP.NET Web Application que abrí antes en esta pregunta tenía un WebMethod dentro del archivo ASMX que agregué,
como muestro aquí -
WebService1.asmx
Public Class WebService1 Inherits System.Web.Services.WebService <WebMethod()> _ Public Function HelloWorld() As String Return "Hello World" End Function End Class Que no estoy familiarizado con esta convención de cómo implementar webMethods en ella.
Si sabe cómo escribir <WebMethod()> _ de esta manera, le agradeceré su respuesta :)
Gracias