从WCF-service的布尔方法接收答案

时间:2012-09-03 15:05:19

标签: javascript asp.net wcf service

我的问题是:

我有WCF服务,它包含一个可以返回false的方法。 我在客户端上用JS调用这个方法。

我的问题是调用此方法,然后等待它的答案然后,例如,警告是否为真。

我的SVC文件:

namespace MyNamespace
{
    [ServiceContract(Namespace = "AttributeSetAttributeService")]
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
    public class MyClass
    {
        [OperationContract]
        public Boolean SaveChanges(string aaa, string bbb, string ccc)
        {
            // code here
            return true;
        }
    }
}

这就是我在JS上调用此函数的方法:

if (WayToMyServiceMethod.SaveChanges(aaa, bbb, ccc) == false) {
        alert("false");
        return false;
    }
    else {
        alert("true");
        return true;
    }

但是它始终警告'true'并且并行执行服务方法(SaveChanges)而不等待服务的回答。

我需要从服务中等待回答,并在完成时获得'true'或'false'。

对不起我的英文:)

谢谢!

1 个答案:

答案 0 :(得分:0)

在您的服务器方法SaveChanges中,它始终返回true。所以你永远都是真的。如果您的服务器实现正确返回true或false,请尝试在客户端进行以下检查

在javscript中你应该使用'==='来检查类型检查。

if (WayToMyServiceMethod.SaveChanges(aaa, bbb, ccc) === false) {
        alert("false");
        return false;
    }
    else {
        alert("true");
        return true;
    }