在Visual Studio 2010中我创建了一个新的启用Ajax的WCF服务jQuery的WCF服务MVC2 VS2010 .NET 4.0调用与参数失败
[ServiceContract(Namespace = "TestWCFAjax.Bridge")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class Bridge
{
[OperationContract]
public string DoWork()
{
return "jQuery WCF call without parameters from MVC2 works." ;
}
[OperationContract]
public string DoWork1(string parm)
{
return parm + " jQuery WCF call with parameters from MVC2 fails";
}
在主控制器的Index.aspx视图我添加了jQuery:
功能CallWebMethod(){
$.ajax(
{
type: "POST",
contentType: "application/json; charset-utf-8",
url: "http://localhost:1452/Bridge.svc/DoWork1",
dataType: "json",
data: '{"parm":"test"}',
error: jqueryError,
success: function (msg) {
alert("back");
var divForResult = document.getElementById("test");
divForResult.innerHTML = "Result: <b>" + msg.d + "</b>";
}
})
}
function jqueryError(request, status, error) {
alert(request.responseText + " " + status + " " + error);
}
(使用VS 2010内置的Web服务器)
当我打电话给DoWork时,它工作正常。 当我调用DoWork1时,它总是返回“错误未定义”,并且WCF调用从不发生。
我试过的每个组合: [WebInvoke(方法= “POST”,BodyStyle = WebMessageBodyStyle.WrappedRequest,ResponseFormat = WebMessageFormat.Json,RequestFormat = WebMessageFormat.Json) 我能想到的,它不帮帮我。
我必须缺少一些简单的东西。
有很多关于如何使这项工作,以及“无参数”版本,没有人为我工作。
任何人都可以发布样本MVC2 jQuery 1.4 .NET 4.0 WCF VS2010工作示例或发现可能的错误?
谢谢。
你是如何在wcf config上配置你的基地址的? Bridge.svc是否包含在内?这是强制性的吗? Tks – Pascal 2010-12-17 13:43:08