用REMOTING实现传输一个.RAR或者.ZIP的压缩包怎么实现,能给个思路吗,谢谢
解决方案 »
- 怎样用C#做一个倒计时的软件?
- 如果让数据溢出后变负数?
- TabControl样式设置
- C# WINFORM 默认打印机问题!
- C#开发程序,索引器用得多吗?
- c# 如何检测SQL有没有启动?
- g.DrawLines(redpen,90,30,110,40);//???????????????????????????????????????
- 在Win7下做了个C#Winform程序,想要修改注册表使其开机自动运行!
- 采用UDP协议,C/S模式聊天程序,透过internet访问-----------讨论???(up 有分)
- 请大家告诉我中文msdn的下载地址,谢谢
- 代码出错,大家帮忙看看啊!!!!急!!!!
- 如何把用户通过窗口上的DataGrid修改值传给对应的DataSet?
[Serializable]
public class RemotingReturnObject
{
public object Value
{
get
{
if( this.Message != null || this.Tag == null )
{
return mValue;
}
else
{
Type zipType = this.Tag as Type;
if( zipType == typeof(DataSet) ) // 解压缩 DataSet
{
return ZipHelper.UnGZipDataSet(mValue as byte[]);
}
else if( zipType == typeof(DataTable) ) // 解压缩 DataTable
{
return ZipHelper.UnGZipDataTable(mValue as byte[]);
}
else if( zipType == typeof(byte[]) ) // 解压缩 byte[]
{
return ZipHelper.UnGZipByteData(mValue as byte[]);
}
else
{
return mValue;
}
}
}
set
{
if( value != null )
{
Type varType = value.GetType();
if( varType == typeof(DataSet) ) // 压缩 DataTable
{
this.Tag = typeof(DataSet);
mValue = ZipHelper.GZipDataSet(value as DataSet);
}
else if( varType == typeof(DataTable) ) // 压缩 DataTable
{
this.Tag = typeof(DataTable);
mValue = ZipHelper.GZipDataTable(value as DataTable);
}
else if( varType == typeof(byte[]) ) // 压缩 byte[]
{
this.Tag = typeof(byte[]);
mValue = ZipHelper.GZipByteData(value as byte[]);
}
else
{
this.Tag = null;
mValue = value;
}
}
}
}public class ZipHelper
{
public ZipHelper()
{
//
// TODO: 在此处添加构造函数逻辑
//
} /// <summary>
/// 压缩二进制数据
/// </summary>
/// <param name="desData"></param>
/// <returns></returns>
public static byte[] GZipByteData(byte[] desData)
{
return ZipLib.Compression.GZipByteData(desData);
} /// <summary>
/// 压缩 DataSet
/// </summary>
/// <param name="ds"></param>
/// <returns></returns>
public static byte[] GZipDataSet(DataSet ds)
{
return ZipLib.Compression.GZipDataSet(ds);
}
.......