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":"成功"}