将大量参数传递到Web服务中

本文关键字:Web 服务 参数传递 | 更新日期: 2023-09-27 17:49:30

我在ASP.NET中有一个web服务,它很简单,但web方法需要5个参数。有其他方法可以传递参数吗?像数组或列表?。我想把它限制在3。

我尝试了SetMethod(字符串参数(和力工作。

谢谢。

将大量参数传递到Web服务中

为什么不创建一个将这些参数作为属性的类,然后将该类的实例作为参数传递给web方法。

改变这样的东西。。

[WebMethod]
public void SomeMethod(string param1, string param2, string param3)
{
    //some code
}

像这样的事情。。。

[WebMethod]
public void SomeMethod(SomeClass myClass)
{
    //some code
}
public class SomeClass
{
    public string Param1 { get; set; }
    public string Param2 { get; set; }
    public string Param3 { get; set; }
}

你会这样使用它…

SomeClass myClass = new SomeClass();
myClass.Param1 = "some data";
myClass.Param2 = "more data";
myClass.Param3 = "even more";
// make the webservice call
someObject.SomeMethod(myClass);
    List<Student> list = new List<Student>();
    [WebMethod]
    public string InsertUserDetails(Student  userInfo)
    { 
        list.Add(userInfo);
        //string Message;
        SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=Sample;Integrated Security=True");
        con.Open();
        foreach (Student s in list)
        {
            SqlCommand cmd = new SqlCommand("insert into userdetail(username,password,country,email) values(@UserName,@Password,@Country,@Email)", con);
            cmd.Parameters.AddWithValue("@UserName", userInfo.UserName);
            cmd.Parameters.AddWithValue("@Password", userInfo.Password);
            cmd.Parameters.AddWithValue("@Country", userInfo.Country);
            cmd.Parameters.AddWithValue("@Email", userInfo.Email);
            int result = cmd.ExecuteNonQuery();
        }
            //if (result == 1)
            //{
            //    Message = userInfo.UserName + " Details inserted successfully";
            //}
            //else
            //{
            //    Message = userInfo.UserName + " Details not inserted successfully";
            //}
            //con.Close();
           // return Message;
        return "done";
    }

您可以这样做>>>>>>