我有一个asp.net asmx服务,我想将其转换为wcf服务。将ASMX服务迁移到WCF服务 - AJAX Post
我有问题从jquery ajax POST请求与参数调用wcf服务。
如果我调用没有参数的WCF服务或者以json格式传递参数,它工作正常。
当执行下面的jQuery邮寄到WCF服务,我得到错误500
请注意,我不能改变的jQuery提出要求的方式。
原始ASMX服务:
[WebMethod(EnableSession = true)]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public void SendStatus(string param1, string param2)
{
..................
}
jQuery的POST:
var d = { param1: 1, param2: 2 };
$.ajax({
type: "POST",
url: "/Service1.asmx/SendStatus",
data: d,
success: function() { }
});
新的WCF服务:
[OperationContract]
[WebInvoke]
public void SendStatus(string param1, string param2)
{
}
jQuery的POST:
var d = { param1: 1, param2: 2 };
$.ajax({
type: "POST",
url: "/Service2.svc/SendStatus",
data: d,
success: function() { }
});
我的编辑点评 - 我建议使用MVC3,这使得配置请求路由比WCF更容易。我一直对WCF的灵活性感到不知所措,而且它的配置不直观(尽管我猜这对更高级的网络设置会有好处)。 – McGarnagle 2012-04-01 22:03:05
MVC很好,但我已经有一个在Web窗体中的现有项目。 – RuSh 2012-04-01 22:25:24