将参数传递给c#中的Web服务方法
我正在开发一个Android应用程序..它将位置数据发送到Web服务以存储在服务器数据库中。
在Java中:我使用了这个协议,所以URI是:HTTP请求,而不是REST
HttpPost request = new HttpPost("http://trafficmapsa.com/GService.asmx/GPSdata? lon="+Lon+"&Lat="+Lat+"&speed="+speed);
在Asp.net(c#)web服务将是:
[WebMethod] public CountryName GPSdata(Double Lon, Double Lat, Double speed) { String ConnStr = ConfigurationManager.ConnectionStrings["TrafficMapConnectionString"].ConnectionString; SqlConnection myConnection = new SqlConnection(ConnStr); SqlCommand myCommand = new SqlCommand("INSERT INTO Traffic(Longitude,Latitude,Speed,Distance,Time,MAC_Address) VALUES('" + (@Lon).ToString() + "','" + (@Lat).ToString() + "','" + (@speed).ToString() )", myConnection); SqlDataAdapter sadp = new SqlDataAdapter(); sadp.SelectCommand = myCommand; myConnection.Open(); DataSet DS = new DataSet(); myCommand.ExecuteNonQuery(); myConnection.Close();
在传递来自android ..的数据后,没有返回..并没有数据库中的数据! CS文件中是否有任何库丢失! 我找不出什么问题。
如果您需要让REST使用WCF REST而不是ASP.NET Web服务。 ASMX服务中没有REST可能性。
ASFAIK无法通过REST调用.net Web服务。 因为Web服务部署在基于HTTP的SOAP上。 对于这种需求,您需要使用一些第三方库,如KSOAP。 一旦检查此线程
也许最简单的解决方案是在Web服务上启用JSON。 基本上它只是在Web配置文件中进行一些更改。 看看这里:http://www.codegain.com/articles/aspnet/howto/prepare-a-json-web-service-and-access-it-with-jquery.aspx。 代码示例是针对jquery的,但是从android创建json对象将非常简单。
链接地址: http://www.djcxy.com/p/60281.html