我有一个类在webservice和客户端都定义了以下的类
public class M_v_user
{
public M_v_user()
{ }
#region Model
private int _userid;
private string _name;
private int _unitid;
}
在webservice上的WebService2代码如下:
[WebMethod]
public model.M_v_user user(model.M_v_user tempMuser)
{
DataSet ds = DAL.D_t_user.user_select(tempMuser.userid);
model.M_v_user muser = new model.M_v_user();
muser.unitname = ds.Tables[0].Rows[0]["unitname"].ToString();
muser.username = ds.Tables[0].Rows[0]["username"].ToString();
return muser;
}
然后我想通过客户端将M_v_user类传递到webservice中,代码如下
model.M_v_user Muser = new model.M_v_user();
Muser.userid = userid;
Num2.Text = MyuserS.user(Muser).unitname;
Num3.Text = MyuserS.user(Muser).username;
但报了如下的错误
错误1: 与“WebService_windows.WebService2.WebService2.user(WebService_windows.WebService2.M_v_user)”最匹配的重载方法具有一些无效参数 D:\guojian\eppro\c#\temp\WebService-windows\WebService-windows\Form1.cs 29 25 WebService-windows
应如何向WeBService传递这样的类参数呢,望大家能解答解答
------解决方案--------------------
M_v_user 应该用WebService在客户端生成的客户端代理namespace下的那个类。
你在客户端自己定义的类不行的。
-----
BTW:你们这命名真是乱啊...不符合C#的命名规则。
------解决方案--------------------
WCF可以解决此问题.如故WS要用序列化一下能成字符串用也成.
------解决方案--------------------
MyObject obj = new MyObject();
obj.n1 = 1;
obj.n2 = 24;
obj.str = "Some String";
IFormatter formatter = new BinaryFormatter();
Stream stream = new FileStream("MyFile.bin", FileMode.Create, FileAccess.Write, FileShare.None);
formatter.Serialize(stream, obj);
序列化然后转成字符串来会发,过去了再反序列化转换成对象就好了.
------解决方案--------------------
- C# code
Service.pos.test other = new Service.pos.test();other.code="001";posservice.queryGoods(other);
------解决方案--------------------
写成字符窜
{tempMuser:{userid:1}}