webservice中定义的试题类,如何在客户端引用,
[WebMethod]
public void test(User user)
{}
[Serializable]
public class User
{
public User()
{}
private string _uname;
private string _upass;
public string uName
{
get { return _uname; }
set { _uName = value;}
}
public stirng uPass
{
get { return _uPass; }
set { _uPass = value;}
}
}
我在WebService 中有个类库Model,中有若干个实体类,写法如上,问题是有些有3个在客户端可以直接引用,还有的就不行,从昨天搞到今天,还是不行,也想了用别的办法,如传递数组string[],在实例实体类的对象,但也麻烦,或传递XML,XML不是很熟悉。
现请做过这样的各位大哥请指点,谢谢,分是小问题。咱是爽快人。
[WebMethod]
public void test(User user)
{}
[Serializable]
public class User
{
public User()
{}
private string _uname;
private string _upass;
public string uName
{
get { return _uname; }
set { _uName = value;}
}
public stirng uPass
{
get { return _uPass; }
set { _uPass = value;}
}
}
我在WebService 中有个类库Model,中有若干个实体类,写法如上,问题是有些有3个在客户端可以直接引用,还有的就不行,从昨天搞到今天,还是不行,也想了用别的办法,如传递数组string[],在实例实体类的对象,但也麻烦,或传递XML,XML不是很熟悉。
现请做过这样的各位大哥请指点,谢谢,分是小问题。咱是爽快人。
方法:
//序列化
public byte[] SerializeObject(object pObj)
{
if (pObj == null)
return null;
System.IO.MemoryStream memoryStream = new System.IO.MemoryStream();
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(memoryStream, pObj);
memoryStream.Position = 0;
byte[] read = new byte[memoryStream.Length];
memoryStream.Read(read, 0, read.Length);
memoryStream.Close();
return read;
}
//反序列化
public object DeserializeObject(byte[] pBytes)
{
object newOjb = null;
if (pBytes == null)
{
return newOjb;
} System.IO.MemoryStream memoryStream = new System.IO.MemoryStream(pBytes);
memoryStream.Position = 0;
BinaryFormatter formatter = new BinaryFormatter();
newOjb = formatter.Deserialize(memoryStream);
memoryStream.Close(); return newOjb;
}
[webMothed]
public void test(XmlDocument xmldoc)
{
//do something
}
在服务器端在自己解析,这样到也是实现了,就是不知道这种方法和dragonlus(毒龙)
的方法序列化成二进制数组那种方法更好?
Visual Studio会自动在Reference.cs中添加类及其字段和属性的定义
直接用就可以吧,CLR会自动帮忙序列化和反序列化。“问题是有些有3个在客户端可以直接引用,还有的就不行”,没看明白什么意思?
example:
[WebMethod]
public string Do(string objString)
{
//1、从包头获取是要进行何种类型的操作,以及对象的类型
//2、将包体反序列化为对象
//3、对象操作,如增,删,改
return str;
}客户段也需要有对象序列化和反序列化的相关方法,你可以弄一个工具类。