62,025
社区成员
发帖
与我相关
我的任务
分享
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="xxxxxxxx.WCF.WCFServicesBehavior">
<serviceMetadata httpGetEnabled="true" />
<dataContractSerializer maxItemsInObjectGraph="2147483647"/>
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
#region 压缩数据
/// <summary>
/// 序列化并压缩
/// </summary>
/// <param name="CompressData"></param>
/// <returns></returns>
public byte[] SerializerAndCompress(object CompressData)
{
byte[] b = Serialize(CompressData);
byte[] b2 = Compress(b);
return b2;
}
public byte[] Serialize(Object inst)
{
Type t = inst.GetType();
var dcs = new DataContractSerializer(t);
var ms = new MemoryStream();
dcs.WriteObject(ms, inst);
return ms.ToArray();
}
public byte[] Compress(byte[] bytData)
{
try
{
var ms = new MemoryStream();
var defl = new Deflater(9, false);
Stream s = new DeflaterOutputStream(ms, defl);
s.Write(bytData, 0, bytData.Length);
s.Close();
byte[] compressedData = ms.ToArray();
return compressedData;
}
catch
{
throw;
}
}
#endregion
Wrapper wr = new Wrapper();
List<xxx> listXXX= (List<xxx>)wr.DecompressAndDeserialize(listXXX.GetType(), e.Result);
<behaviors>
<serviceBehaviors>
<behavior name="xxxxxx.WCF.WCFServicesBehavior">
<serviceMetadata httpGetEnabled="true" />
<dataContractSerializer maxItemsInObjectGraph="2147483647"/>
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
<services>
<!--这里的名字和behavior是对应的-->
<service behaviorConfiguration="xxxxx.WCF.WCFServicesBehavior" name="xxxx.WCF.WCFServices">
<endpoint address="" binding="basicHttpBinding" contract="xxxx.WCF.WCFServices"/>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>