WCF服务接收NULL值

时间:2011-04-08 15:58:59

标签: asp.net wcf

我有一个新的Web服务我正在尝试实现...当我在调试器中运行它时,服务中调用的函数在我设置的断点处停止但是我注意到该值为null ...我在最后一天试图解决这个问题时,我已经烧毁了自己。

如果我看起来散乱或没有提供足够的信息,我道歉......我感谢任何帮助

我也曾尝试过Fiddler;它在上面的断点处停止。

我在想我的json可能会搞砸?

来自客户的电话:

 var url = "http://localhost:35798/Service.svc/Test;
 var json = '{"name": "test"}';
 $.ajax({
            type: "GET",
            url: url,
            dataType: "json",
            processData: true,
            data: json,
            contentType: "application/json; charset=utf-8",
            success: function (data) {

                alert("Passed" + data.CheckFileResult);
            },
            error: function (data) {
                alert(data.d);
            }
        });

服务:

[OperationContract] 
[WebInvoke(Method="GET", ResponseFormat=WebMessageFormat.Json)] 
public string Test(string name)
 {
    return "hi";
 }

服务配置:

<system.serviceModel>
  <behaviors>
    <endpointBehaviors>
      <behavior name="Site.Service1AspNetAjaxBehavior">
        <enableWebScript />
      </behavior>
      <behavior name="Site.ServiceAspNetAjaxBehavior">
        <enableWebScript />
      </behavior>
    </endpointBehaviors>
  </behaviors>
  <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />

  <services>
    <service name="Site.Service">
      <endpoint address="" behaviorConfiguration="Site.ServiceAspNetAjaxBehavior"
        binding="webHttpBinding" contract="Site.Service" />
    </service>
  </services>
</system.serviceModel>

2 个答案:

答案 0 :(得分:0)

这一行的语法怎么样:

var json = '{"name": "test"}'

不应该是:

var json = '{name: "test"}';

编辑:你的前两行似乎有点偏离imo。尝试:

var url = "http://localhost:35798/Service.svc/Test";
var json = "{name: 'test'}";

答案 1 :(得分:0)

我通过使用服务引用连接到方法来解决这个问题,然后我在fiddler中看到了请求,并意识到json确实是格式错误的...还有一个额外的空间

'{ "name":"test"}'

...谢谢