如何将Wcf服务方法返回到Angular Js Application中

时间:2017-10-09 01:51:21

标签: javascript c# angularjs rest wcf

我正在将Wcf REST服务用于Angualar JS应用程序。我正面临一些问题。据我所知,WCf REST服务允许GET,POST,PUT和DELETE操作。但我想将一个方法true或flase从Wcf Service返回到Angular JS应用程序。例如,如果ueranme存在于数据库中,那么我想返回true并在angular js应用程序中显示用户名存在的消息,否则信息将存储在数据库中。如果可能的话请提供一个很好解释的例子。

这是界面。

if(!mysqli_query($db, $q)) {

//error
error_log('There is an issue with this Query on live server. The Query is '.$q);    
}

这是“实施”。

  [OperationContract]
    [WebInvoke(Method = "POST",
    RequestFormat = WebMessageFormat.Json,
    ResponseFormat = WebMessageFormat.Json,
    //BodyStyle = WebMessageBodyStyle.WrappedRequest,
    UriTemplate = "/AuthenticateUser")]
    bool AuthenticateUser(UserLogin userLogin );

这是脚本代码..

  public bool AuthenticateUser(UserLogin userLogin)
        {

            string CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;

            using (SqlConnection con = new SqlConnection(CS))
            {
                SqlCommand cmd = new SqlCommand("spAuthenticateUser", con);
                cmd.CommandType = CommandType.StoredProcedure;
                string encryptedpassword = FormsAuthentication.HashPasswordForStoringInConfigFile(userLogin.Password, "SHA1");
                SqlParameter paramUsername = new SqlParameter("@UserName", userLogin.Username);
                SqlParameter paramPassword = new SqlParameter("@Password", encryptedpassword);

                cmd.Parameters.Add(paramUsername);
                cmd.Parameters.Add(paramPassword);

                con.Open();
                SqlDataReader rdr = cmd.ExecuteReader();
                while (rdr.Read())
                {
                    int RetryAttempts = Convert.ToInt32(rdr["RetryAttempts"]);
                    if (Convert.ToBoolean(rdr["AccountLocked"]))
                    {
                        return true;
                    }
                    else if (RetryAttempts > 0)
                    {
                        int AttemptsLeft = (4 - RetryAttempts);
                        return false;

                    }

                    else if (Convert.ToBoolean(rdr["Authenticated"]))
                    {
                        return true;
                    }


                }
                return false;
            }
        }

0 个答案:

没有答案