在前两讲《CompressionSink.CompressionServerSink类
    压缩类:CompressionHelper
    压缩内核:NZipLib库。

客户端的配置文件 :

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

    <system.runtime.remoting>

        <application>

            <channels>

                <channel ref="http">

                    <clientProviders>

                        <formatter ref="soap" />

                        <provider type="CompressionSink.CompressionClientSinkProvider, CompressionSink" />

                    </clientProviders>

                </channel>

            </channels>

             <client>

                 <wellknown type="Service.SomeSAO, Service"  url="http://localhost:5555/SomeSAO.soap" />

             </client>

        </application>

    </system.runtime.remoting>

</configuration>

服务端的配置文件 :

 

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

    <system.runtime.remoting>

        <application>

            <channels>

                <channel ref="http" port="5555">

                    <serverProviders>

                        <provider type="CompressionSink.CompressionServerSinkProvider, CompressionSink" />

                        <formatter ref="soap"/>

                    </serverProviders>

                </channel>

            </channels>

            <service>

                <wellknown mode="Singleton"  type="Service.SomeSAO, Service"   objectUri="SomeSAO.soap" />

            </service>

        </application>

    </system.runtime.remoting>

</configuration>

 

实现一个压缩Remoting传输数据的Sink:CompressionSinkpublic class CompressionClientSinkProvider: IClientChannelSinkProvider
    }



 1实现一个压缩Remoting传输数据的Sink:CompressionSinkpublic class CompressionClientSink: BaseChannelSinkWithProperties, 
 2实现一个压缩Remoting传输数据的Sink:CompressionSink                                        IClientChannelSink
 3    }

 1实现一个压缩Remoting传输数据的Sink:CompressionSinkpublic class CompressionServerSinkProvider: IServerChannelSinkProvider
 2    }

实现一个压缩Remoting传输数据的Sink:CompressionSinkusing System;
实现一个压缩Remoting传输数据的Sink:CompressionSink
using System.Runtime.Remoting.Channels;
实现一个压缩Remoting传输数据的Sink:CompressionSink
using System.Runtime.Remoting.Messaging;
实现一个压缩Remoting传输数据的Sink:CompressionSink
using System.IO;
实现一个压缩Remoting传输数据的Sink:CompressionSink
实现一个压缩Remoting传输数据的Sink:CompressionSink
namespace CompressionSink

 1实现一个压缩Remoting传输数据的Sink:CompressionSinkpublic class CompressionHelper 
 2    }


BTW,这个Sink还可以扩展,比如判断需要压缩Stream的大小,如果很大,就压缩,否则不压缩(可以在responseHeaders和requestHeaders添加是否 已经压缩的标记)

相关文章:

  • 2021-09-03
  • 2021-10-26
  • 2021-11-28
  • 2021-07-16
  • 2022-12-23
  • 2022-12-23
  • 2021-06-19
  • 2022-12-23
猜你喜欢
  • 2021-09-15
  • 2022-12-23
  • 2022-01-17
  • 2021-12-12
  • 2021-11-21
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案