2

我想调试我的 web 方法以查看返回列表是否包含已作为参数传递的对象。

我的网络方法如下:

[WebMethod]
       public List<Vehicle> GetCustomerList(Vehicle obj)
            {
                //List<Vehicle> newL = new List<Vehicle> { obj };

                return new List<Vehicle> { obj };

            }

它说“测试表单仅适用于以原始类型作为参数的方法”。所以我想知道我需要进行哪些更改才能检查该方法传递的内容。

> 后续问题的编辑代码

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; }
    }


}
4

2 回答 2

3

声明的方法需要一个 Vehicle 对象,这是您无法在表单中键入的东西,因此是消息。在一个表单中,您显然只能输入原始类型(int 等)

于 2014-11-13T21:13:36.737 回答
2

要测试非原始参数类型,您需要创建一个使用 Web 服务的测试应用程序,因此在与您的 Web 服务相同的解决方案中创建一个新应用程序(Windows/Web 并不重要)。在同一解决方案中添加对服务的 Web 引用。然后照常使用服务(即创建服务实例,然后调用其上的方法,传入任何复杂的参数类型)。

于 2020-04-11T16:15:59.580 回答