C# 在c中向web服务方法传递参数#
我正在开发一个android应用程序。。将位置数据发送到web服务以存储在服务器数据库中 在Java中: 我使用了这个协议,所以URI是:HTTP请求而不是RESTC# 在c中向web服务方法传递参数#,c#,android,rest,web-services,methods,C#,Android,Rest,Web Services,Methods,我正在开发一个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]
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();
}
从安卓系统传递数据后..返回结果为空。。数据库中没有数据!!
CS文件中是否缺少任何库!!
我不知道问题出在哪里。ASFAIK无法通过REST调用.net Web服务。因为Web服务部署在HTTP上的SOAP上。对于这种需求,您需要使用一些第三方库,比如KSOAP。如果需要使用REST而不是ASP.NET web服务,请选中此项。
ASMX服务中没有REST的可能性。也许最简单的解决方案是在web服务上启用JSON。基本上,它只是在web配置文件中进行一些更改。请看这里:。代码示例是针对jquery的,但是从android创建json对象将非常容易。关于HTTP请求,上面的web服务与它兼容吗?REST是关于HTTP的。请参见此处的WCF REST概述。您可以通过浏览器调用您的Web服务吗?如果您不能,那么您的Web服务不接受REST GET似乎有问题。从技术上讲,您是错误的。任何像样的HTTP库都可以用来编写SOAP请求。这是一个相当多的工作,没有多少收获,但它可以做到。更迂腐的是,没有所谓的“休息电话”。