从iOS发布JSON到ASP.NET

时间:2012-07-18 03:32:01

标签: ios asp.net-mvc json post

我正在尝试从iPhone应用程序将JSON数据发布到我的asp.net MVC服务器。我服务器中的方法如下所示:

[HttpPost]
public String MyMethod(Stream anUpload) { ... }

这是从我的应用程序POST JSON的代码:

NSString *theURL = [NSString stringWithFormat:@"http://192.168.1.103/MyServer/MyMethod"];
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:theURL]];
[theRequest setHTTPMethod:@"POST"];

// Serialize my data.
NSData *theData = [NSJSONSerialization dataWithJSONObject:theList options:kNilOptions error:nil];

[theRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[theRequest setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[theRequest setValue:[NSString stringWithFormat:@"%d", [theData length]] forHTTPHeaderField:@"Content-Length"];
[theRequest setHTTPBody:theData];

但是,当我发送请求时,我只是从服务器收到一条错误消息,MyMethod()永远不会被调用。我假设ASP接受POST数据存在问题。有什么想法吗?

编辑:下面的答案

1 个答案:

答案 0 :(得分:1)

我找到了答案:

我只需要将服务器端功能更改为

public String MyMethod(List<string> aList) { ... }

ModelBinder试图为我反序列化JSON,它不喜欢我的参数是一个流。