我想调试我的webmethod,看看返回列表是否包含作为参数传递的对象。
我的网络方法如下:
[WebMethod]
public List<Vehicle> GetCustomerList(Vehicle obj)
{
//List<Vehicle> newL = new List<Vehicle> { obj };
return new List<Vehicle> { obj };
}
它说“测试形式仅适用于具有基本类型作为参数的方法”。所以我想知道我需要做些什么改变才能检查方法传递的内容。
&GT;编辑后续问题的代码
public class Service1 : System.Web.Services.WebService
{
[WebMethod]
public List<Vehicle> GetCustomerList(Vehicle vehi)
{
List<Vehicle> newL = new List<Vehicle> { vehi };
return new List<Vehicle> { vehi };
}
[WebMethod]
public void simpleCase()
{
Vehicle obj = new Vehicle();
obj.VehicleID = "KL-9876";
obj.VehicleType = "Nissan";
obj.VehicleOwner = "Sanjiva";
GetCustomerList(obj);
}
}
public class Vehicle
{
public string VehicleID { get; set; }
public string VehicleType { get; set; }
public string VehicleOwner { get; set; }
}
}
答案 0 :(得分:2)
声明的方法需要一个Vehicle对象,这是您无法在表单中键入的内容,因此也就是消息。在表单中,您显然可以只输入基本类型(int等)
答案 1 :(得分:0)
要测试非原始参数类型,您需要创建一个使用Web服务的测试应用程序,因此请在与Web Service相同的解决方案中创建一个新应用程序(Windows / Web并不重要)。在同一解决方案中,将Web参考添加到该服务。然后照常使用服务(即创建服务的实例,然后在其上调用方法,并传入任何复杂的参数类型)。