/// <summary> /// 释放非托管资源。 /// </summary> /// <param name="disposing"><b>true</b> 同时释放托管和非托管资源; <b>false</b> 只释放非托管资源。</param> private void Dispose(bool disposing) { if (!this.disposed) { this.Stop(); this.channelManager.Dispose(); this.channelManager = null; } this.disposed = true; }
/// <summary> /// 初始化管道服务的新实例。 /// </summary> /// <param name="pipeName">管道名称。</param> /// <param name="maxNumberOfServerInstances">最大共享实例数。</param> /// <param name="listenThreadPriority">监听线程优先级。</param> /// <param name="openTimeout">打开连接超时时间。</param> /// <param name="sendTimeout">发送数据超时时间。</param> /// <param name="receiveTimeout">监听线程等待超时时间。</param> public PipeService(string pipeName, int maxNumberOfServerInstances, ThreadPriority listenThreadPriority, int openTimeout, int sendTimeout, int receiveTimeout) { this.pipeName = pipeName; this.maxNumberOfServerInstances = maxNumberOfServerInstances; this.listenThreadPriority = listenThreadPriority; this.state = PipeServiceState.Init; this.openTimeout = openTimeout; this.sendTimeout = sendTimeout; this.receiveTimeout = receiveTimeout; this.channelManager = new PipeServiceChannelManager(this.pipeName); }