2012-01-28 112 views

回答

4

简单地使用JSON序列化数据,并将其作为POST请求写入服务器。以下是我在其中一个应用中执行的操作:

private static IObservable<T> GetDataAsync<T, TRequest>(TRequest input, string address) 
{ 
    var request = HttpWebRequest.Create(address); 
    request.Method = "POST"; 

    var getRequestStream = Observable.FromAsyncPattern<Stream>(
     request.BeginGetRequestStream, 
     request.EndGetRequestStream); 

    var getResponse = Observable.FromAsyncPattern<WebResponse>(
     request.BeginGetResponse, 
     request.EndGetResponse); 

    return getRequestStream() 
       .SelectMany(stream => 
       { 
        try 
        { 
         using (var writer = new StreamWriter(stream)) 
          writer.WriteLine(JsonConvert.SerializeObject(input)); 
        } 
        catch 
        { 
         // Intentionally ignored. 
        } 

        return getResponse(); 
       }) 
       .Select(webResponse => 
       { 
        using (var reader = new StreamReader(webResponse.GetResponseStream())) 
         return JsonConvert.DeserializeObject<T>(reader.ReadToEnd()); 
       }); 
} 
+0

谢谢!我可以知道如何发布json数据,例如:JSONDATA:{“metaData”:{“appId”:“..”,“appVersion”:“..”},“searchData”:{“type”:“KEY_SEARCH”, “术语”: “07391905”, “纬度”: - 999.0, “经度”: - 999.0, “格式”: “JSON”, “filterValues”:[]}, “用户数据”:{ “权威”: “USER” ,“加密”:“3”}} – 2012-01-30 11:14:32

+0

请帮帮我,如何发布上面的json数据。我的网址是.php – 2012-01-30 12:17:22

+1

如果你无法理解绝对的基本知识,那么你应该回去再练习Hello World。 – 2012-01-30 12:21:15