2012-07-18 71 views
0

我想從一個iPhone應用程序將JSON數據發佈到我的asp.net MVC服務器。在我的服務器的方法是這樣的:從iOS發佈JSON到ASP.NET

[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

我找到了答案:

我只需要在服務器端函數改爲

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

的ModelBinder的試圖反序列化JSON的我,它不喜歡我的參數是一個Stream。