Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 向Web服务传递大量参数_C#_Asp.net_Web Services - Fatal编程技术网

C# 向Web服务传递大量参数

C# 向Web服务传递大量参数,c#,asp.net,web-services,C#,Asp.net,Web Services,我在ASP.NET中有一个web服务—一个简单的web服务,但web方法需要5个参数。是否有其他方法传递参数?像数组还是列表?。我想把它限制在3个 我尝试了SetMethod(stringparam)和dint工作 谢谢。为什么不创建一个将这些参数作为属性的类,然后将该类的实例作为参数传递给web方法 改变这样的事情 [WebMethod] public void SomeMethod(string param1, string param2, string param3) { //so

我在ASP.NET中有一个web服务—一个简单的web服务,但web方法需要5个参数。是否有其他方法传递参数?像数组还是列表?。我想把它限制在3个

我尝试了SetMethod(stringparam)和dint工作


谢谢。

为什么不创建一个将这些参数作为属性的类,然后将该类的实例作为参数传递给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 List=新列表();
[网络方法]
公共字符串插入器详细信息(学生用户信息)
{ 
list.Add(userInfo);
//字符串消息;
SqlConnection con=newsqlconnection(“数据源=;初始目录=示例;集成安全性=True”);
con.Open();
foreach(列表中的学生)
{
SqlCommand cmd=new SqlCommand(“插入userdetail(用户名、密码、国家/地区、电子邮件)值(@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();
}
//如果(结果==1)
//{
//Message=userInfo.UserName+“已成功插入详细信息”;
//}
//否则
//{
//Message=userInfo.UserName+“未成功插入详细信息”;
//}
//con.Close();
//返回消息;
返回“完成”;
}

你可以这样做>>>>>>>>>>

嗯?你的问题毫无意义。请提供更多关于你的解决方案的描述。我想你在回答其他问题。OP正在询问,而您正在回答。
    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";

    }