以下代码示例来自我的aspx Web服务。
我想知道应该如何更改它以便我可以将其作为对象返回。以下所有代码都在Web服务上,我试图从Android调用该对象。
所以我想知道为了能够传递对象我必须做出哪些改变。
非常感谢任何帮助。
[WebMethod]
public object SomeMethod(Vehicle obj)
{
return obj;
}
[WebMethod]
public void simpleCase()
{
Vehicle obj = new Vehicle();
obj.VehicleID = "KL-9876";
obj.VehicleType = "Nissan";
obj.VehicleOwner = "Sanjiva";
}
public class Vehicle
{
public string VehicleID { get; set; }
public string VehicleType { get; set; }
public string VehicleOwner { get; set; }
}
答案 0 :(得分:1)
如果我理解正确您想要从您的Android应用程序创建Web请求并在请求后接收特定数据,这是json和rest wcf Web服务的典型案例。
这里有一个如何启动服务器端的链接: http://msdn.microsoft.com/en-us/library/dd203052.aspx
这是一个链接,向您展示如何使用客户端: http://www.vogella.com/articles/AndroidJSON/article.html
我希望这或多或少是你想要的。
答案 1 :(得分:0)
[DataContract]
public class Salesman
{
[DataMember(Name = "a")]
public virtual string Id { get; set; }
[DataMember(Name = "b")]
public virtual int RoleId { get; set; }
[DataMember(Name = "c")]
public virtual string Name { get; set; }
[DataMember(Name = "d")]
public virtual string Address { get; set; }
[DataMember(Name = "e")]
public virtual string Phone { get; set; }
} // "a","b","c","d"... are the values with which you'll identify the object properties - client side - when json parsing.
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
public class SalesmanService
{
[OperationContract]
[WebGet(UriTemplate = "/get/{id}",
RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
public Salesman Get(string id)
{
//return your salesman
}
}
不要忘记global.asax:
RouteTable.Routes.Add(new ServiceRoute(“salesman”,new WebServiceHostFactory(),typeof(SalesmanService)));
基本上你应该可以打这样的电话: “..localhost / salesman / 50”例如
这只是一个小样本,你必须把手放在wcf和json上以便更广泛地理解。