1

是否可以配置 WCF 方法HelloWorld(string test){}以接受发布的数据而无需实际指定第一个参数的名称?

IE而不是

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

发送

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

我认为可以通过将参数类型从更改为Stringto 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 回答