陈斌彬的技术博客

Stay foolish,stay hungry

iOS 中调用 WCF

iOS中调用WCF

1接口中定义 实体和方法声明

//登录信息
[OperationContract]
[WebInvoke(UriTemplate = "LogInf/{name}/{pwd}", Method = "POST", ResponseFormat = WebMessageFormat.Json)] 
LogInf GetLogInf(string name, string pwd);

2数据交换实体类

  [DataContract]  
    public class LogInf
    {

        [DataMember]
        public string UserId { get; set; }


        [DataMember]
        public bool LogTag { get; set; }

        [DataMember]
        public string errMsg { get; set; }


    }

3服务实现

//简单测试

 public LogInf GetLogInf(string name, string pwd)
        {
            LogInf loginf = new LogInf();
            if (name == "111" && pwd == "111")
            {

                loginf.UserId = "100";
                loginf.LogTag = true;
                loginf.errMsg = "成功";

            }
            else
            {
                loginf.UserId = "0";
                loginf.LogTag = false;
                loginf.errMsg = "验证失败";
            }
            return loginf;
        }

4在web.config中将绑定方式改成webHttpBinding

binding="webHttpBinding"

5调用

    NSURL *url = [NSURL URLWithString:@http://192.268.0.11:9422/Service1.svc/LogInf/111/111];  

    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];  

    [request setRequestMethod:@"POST"];  

   [request startSynchronous];  

    NSError *error = [request error];  

   if (!error) {  

       NSString *response = [request responseString];  

       UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"测试" 

                                                            message:response  

                                                           delegate:nil  

                                                  cancelButtonTitle:@"OK" 

                                                 otherButtonTitles:nil];   

       [alertView show];  

       [alertView release];  

    }  

6返回

{"LogTag":true,"UserId":"100","errMsg":"成功"}