传输对象需要序列化一下,然后通过网络传输,序列化的对象,在接收方反序列化一下就可以 添加System.Runtime.Serialization.Formatters.Soap引用,添加下列命名空间 using System.Runtime.Serialization.Formatters.Binary; using System.Runtime.Serialization.Formatters.Soap;
传输方式有好多种 以上两位说的两种方法都可以实现!XML比较实用
web service remoting 都可以
xml数据源传递是可以的, 通过webservice调用就可以了
先将DataSet或者DataTable串行化为byte[]数组,传输,在另外一端接收后还原过来。 /// <summary> /// 串行化DataSet为byte[]数组 /// </summary> /// <param name="ds">DataSet数据</param> /// <returns>byte数组</returns> public static byte[] SerializeDataSet( DataSet ds ) { BinaryFormatter ser = new BinaryFormatter(); MemoryStream ms = new MemoryStream(); ser.Serialize(ms,ds); byte[] buffer = ms.ToArray(); return buffer; } /// <summary> /// 反串行化byte[]数组为DataSet /// </summary> /// <param name="bResult">byte数组</param> /// <returns>DataSet数据</returns> public static DataSet DeserializeDataSet( byte[] bResult ) { MemoryStream ms = new MemoryStream(bResult); IFormatter bf = new BinaryFormatter(); object obj = bf.Deserialize(ms); DataSet dsResult = (DataSet)obj; return dsResult; }
我的意思是有没有办法直接把对象直接传递
呵呵
添加System.Runtime.Serialization.Formatters.Soap引用,添加下列命名空间
using System.Runtime.Serialization.Formatters.Binary;
using System.Runtime.Serialization.Formatters.Soap;
remoting
都可以
通过webservice调用就可以了
/// <summary>
/// 串行化DataSet为byte[]数组
/// </summary>
/// <param name="ds">DataSet数据</param>
/// <returns>byte数组</returns>
public static byte[] SerializeDataSet( DataSet ds )
{
BinaryFormatter ser = new BinaryFormatter();
MemoryStream ms = new MemoryStream();
ser.Serialize(ms,ds);
byte[] buffer = ms.ToArray();
return buffer;
} /// <summary>
/// 反串行化byte[]数组为DataSet
/// </summary>
/// <param name="bResult">byte数组</param>
/// <returns>DataSet数据</returns>
public static DataSet DeserializeDataSet( byte[] bResult )
{
MemoryStream ms = new MemoryStream(bResult);
IFormatter bf = new BinaryFormatter();
object obj = bf.Deserialize(ms);
DataSet dsResult = (DataSet)obj;
return dsResult;
}