1

HelloWorld(string test){}最初のパラメーターの名前を実際に指定せずに、投稿されたデータを受け入れるように WCF メソッドを構成することは可能ですか?

IEではなく

<s:Body...>
  <HelloWorld...>
   <test>foo</test>
  </HelloWorld>
</s:Body>

送信

<s:Body...>
  <HelloWorld...>
   foo
  </HelloWorld>
</s:Body>

Stringパラメータの型を からに変更することで可能だと思いますStreamが、まだ行きたくないです。

4

1 に答える 1

0

可能だと思いますが、以下は私が理解した解決策です。

WCF インターフェイス

[ServiceContract]
public interface IService1
{
    [OperationContract]
    [WebGet(UriTemplate = "HelloWorld/{test}")]
    string HelloWorld(string test);
}

WCF インターフェイスの実装

public class Service : IService1
{
    return "Success from Hello World";
}

jQuery からの Ajax 呼び出し

 $.ajax({
       type: 'GET',
       dataType: 'json',
       contentType: 'application/json; charset=utf-8',
       url: baseUrl + '/HelloWorld/TestString',
       success: function (response) {
               alert('Ping reply: ' + response);
       },
       error: function (XMLHttpRequest, textStatus, errorThrown) {
               var jsonFault = JSON.parse(XMLHttpRequest.responseText);
               alert('Reason: ' + jsonFault.Reason + '<br />Detail: ' + jsonFault.DetailedInformation);
       }
 });

私は単一のパラメータで試しました。私が間違っている場合は、もっと説明してください。

質問歓迎...

于 2013-07-09T12:20:18.520 に答える