首页 > 代码库 > 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":"成功"}