2017-07-06 6 views
0

このプロジェクトはHTTP WEB APIです。私は、ユーザーがサーバーに情報を投稿できるインターフェースを構築したいと考えています。C#オプションのパラメータを使用したHTTP Webサービスメソッド

finger_print_base64は、インテグラントパラメータであり、thresholdまたはmini_matchesが選択可能なパラメータです。

私はMessageNameを設定する方法を知っていました。

[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) 
{ 

} 

しかし、動作しません。なぜそれが間違っているのか分かります。

どのようにオプションのパラメータ事前に

のおかげで、このインタフェースを実現する方法を教えてください。

+0

あなたが動作しないものを言うことはできますか?何らかのエラーがありますか? –

+0

エラーメッセージ "SearchPersonはすでに同じ種類のパラメータを持つメソッドを持っています" – Garry

+0

私のアドバイスは、メソッドの名前をSearchPersonThresholdとSearchPersonMiniMatchに変更することです。今度は同じクラスの同じ指紋を持つ2つの方法がありますが、これは許可されていません。 –

答えて

0

にあなたの方法の名前を変更します。

[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

あなたの答えに感謝します。しかし、メソッド名の名前を変更した場合。ユーザーは別のURLを呼び出す必要があります。これは2つのWebメソッドを呼び出すようです。 – Garry

+0

これは、2つの異なるWebメソッドを呼び出すので、適切で論理的です –

関連する問題