如何调用返回bool get的WCF数据服务;不能包含键谓词或空括号。”;

如何调用返回bool get的WCF数据服务;不能包含键谓词或空括号。”;,wcf,odata,Wcf,Odata,我有一份WCF,上面有以下签名: [WebGet] public bool UserHasRoles(string UserName, string ApplicationName) { if (SecurityCheck()) { UserRightsApplicationEntities context = new UserRightsApplicationEntities(); retu

我有一份WCF,上面有以下签名:

    [WebGet]
    public bool UserHasRoles(string UserName, string ApplicationName)
    {
        if (SecurityCheck())
        {
            UserRightsApplicationEntities context = new UserRightsApplicationEntities();
            return context.UserRolesAndFunctions.Where(urf => urf.LogonName == UserName && urf.ApplicationName == ApplicationName).Count() > 0;
        }

        return false;
    }
我可以编译和运行服务,但是当我调用它时,我得到了错误;“请求URI无效。“UserHasRoles”段不能包含键谓词或空括号”

任何帮助都将不胜感激

以下是呼叫代码:

    public static bool UserHasRoles(string applicationName, string userName)
    {
        DataServiceQuery<bool> q = GetApplicationServicesDataContext()
            .CreateQuery<bool>(Constants.ServiceOperations.UserHasRoles)
            .AddQueryOption(Constants.ClassProperties.Application.ApplicationName, string.Format("'{0}'", applicationName))
            .AddQueryOption(Constants.ClassProperties.User.UserName, string.Format("'{0}'", userName));

        bool userHasRoles = q.Execute().FirstOrDefault();
        return userHasRoles;
    }

如何调用web服务?请包含特定的javascriptPlease发布您的调用方法,如果没有导致错误的代码,我们将无能为力
    public static bool DoesUserHaveRoles(string applicationName, string userName)
    {
        string queryString = string.Format("UserHasRoles?ApplicationName='{0}'&UserName='{1}'", applicationName, userName);

        bool doesUserHaveRoles = (GetApplicationServicesDataContext().Execute<bool>(new Uri(queryString, UriKind.Relative))).FirstOrDefault();
        return doesUserHaveRoles;
    }