Saltar al contenido

¿Puedo tener un parámetro opcional para un servicio web ASP.NET SOAP?

Después de consultar con expertos en este tema, programadores de varias ramas y maestros hemos dado con la respuesta al problema y la dejamos plasmada en esta publicación.

Solución:

Puede tener un método sobrecargado en servicios web con MessageName attribute. Esta es una solución alternativa para lograr la funcionalidad de sobrecarga.

Mire http://msdn.microsoft.com/en-us/library/byxd99hx%28VS.71%29.aspx

[WebMethod(MessageName="Add3")]
public double Add(double dValueOne, double dValueTwo, double dValueThree)

   return dValueOne + dValueTwo + dValueThree;


[WebMethod(MessageName="Add2")]
public int Add(double dValueOne, double dValueTwo)

   return dValueOne + dValueTwo;

Los métodos se harán visibles como Add2 y Add3al exterior

Si usted DE VERDAD tiene que lograr esto, aquí hay un especie de truco para el caso específico de un método web que tiene solo tipos primitivos como parámetros:

[WebMethod]
public void MyMethod(double requiredParam1, int requiredParam2)

    // Grab an optional param from the request.
    string optionalParam1 = this.Context.Request["optionalParam1"];

    // Grab another optional param from the request, this time a double.
    double optionalParam2;
    double.TryParse(this.Context.Request["optionalParam2"], out optionalParam2);
    ...

Sé que esta publicación es un poco vieja. Pero creo que los nombres de los métodos deberían ser los mismos para el ejemplo de Rasik. Si los nombres de ambos métodos son iguales, entonces de dónde viene la sobrecarga. Creo que debería ser así:

[WebMethod(MessageName="Add3")]
public double Add(double dValueOne, double dValueTwo, double dValueThree)

   return dValueOne + dValueTwo + dValueThree;


[WebMethod(MessageName="Add2")]
public int Add(double dValueOne, double dValueTwo)

   return dValueOne + dValueTwo;

Nos puedes confirmar nuestra función fijando un comentario o dejando una valoración te damos la bienvenida.

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



Utiliza Nuestro Buscador

Deja una respuesta

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