2017-07-06 1 views
0

Dieses Projekt ist ein HTTP WEB API. Ich möchte eine Schnittstelle erstellen, die Benutzer einige Informationen an den Server senden können.C# HTTP-Webdienstmethode mit optionalen Parametern

Der finger_print_base64 ist ein Integrantenparameter, und threshold oder mini_matches ist wählbarer Parameter.

Ich wusste, wie MessageName festgelegt wird.

[WebMethod(MessageName = "Default")] 
public void SearchPerson(String finger_print_base64) 
{ 

} 

[WebMethod(MessageName = "AddThreshold")] 
public void SearchPerson(String finger_print_base64,int threshold) 
{ 

} 

[WebMethod(MessageName = "AddMinMatches")] 
public void SearchPerson(String finger_print_base64,int mini_matches) 
{ 

} 

Aber es funktioniert nicht. Und ich weiß warum es falsch ist.

Bitte sagen Sie mir, wie Sie diese Schnittstelle mit optionalen Parametern erreichen

Vielen Dank im Voraus.

+0

Können Sie sagen, was nicht funktioniert? Gibt es einen Fehler? –

+0

Fehlermeldung "SearchPerson hat bereits eine Methode mit der gleichen Art von Parametern" – Garry

+0

Mein Rat wäre, benennen Sie Ihre Methoden zu: SearchPersonThreshold und SearchPersonMiniMatch. Jetzt haben Sie zwei Methoden mit demselben Fingerabdruck in der gleichen Klasse, die nicht erlaubt ist. –

Antwort

0

Benennen Sie Ihre Methoden an:

[WebMethod(MessageName = "AddThreshold")] 
public void SearchPersonTreshold(String finger_print_base64,int threshold) 
{ 

} 

[WebMethod(MessageName = "AddMinMatches")] 
public void SearchPersonMiniMatches(String finger_print_base64,int mini_matches) 
{ 

} 
+0

Dank Ihrer Antwort. Aber wenn ich den Methodennamen umbenenne. Benutzer müssen die andere URL aufrufen. Es scheint, als ob Sie zwei WebMethods aufgerufen haben. – Garry

+0

Das ist richtig und logisch, da sie zwei verschiedene Webmethoden aufrufen –

Verwandte Themen