簡體   English   中英

將參數傳遞給c#中的web服務方法

[英]Passing parameters to web service method in c#

我正在開發一個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服務部署在SOAP over HTTP上。 對於這種要求,您需要使用一些第三方庫,如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對象非常容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM