Exemplo n.º 1
0
        private static void AddDotNettyServiceCharacteristics()
        {
            NetworkBuilderServiceCharacteristicsRegistration.Register
            .TryAdd <IBootstrapWrapperFactory>(ServiceCharacteristics.Singleton());
            NetworkBuilderServiceCharacteristicsRegistration.Register
            .TryAdd <IBootstrapWrapper>(ServiceCharacteristics.Transient());
            NetworkBuilderServiceCharacteristicsRegistration.Register
            .TryAdd <IServerBootstrapWrapper>(ServiceCharacteristics.Transient());
            NetworkBuilderServiceCharacteristicsRegistration.Register
            .TryAdd(typeof(IBootstrapWrapper <,>), ServiceCharacteristics.Transient());

            // Demo
            NetworkBuilderServiceCharacteristicsRegistration.Register
            .TryAdd <IDiscardClient>(ServiceCharacteristics.Singleton());
            NetworkBuilderServiceCharacteristicsRegistration.Register
            .TryAdd <IDiscardServer>(ServiceCharacteristics.Singleton());
            NetworkBuilderServiceCharacteristicsRegistration.Register
            .TryAdd <IEchoClient>(ServiceCharacteristics.Singleton());
            NetworkBuilderServiceCharacteristicsRegistration.Register
            .TryAdd <IEchoServer>(ServiceCharacteristics.Singleton());
            NetworkBuilderServiceCharacteristicsRegistration.Register
            .TryAdd <IFactorialClient>(ServiceCharacteristics.Singleton());
            NetworkBuilderServiceCharacteristicsRegistration.Register
            .TryAdd <IFactorialServer>(ServiceCharacteristics.Singleton());
            NetworkBuilderServiceCharacteristicsRegistration.Register
            .TryAdd <IHttpServer>(ServiceCharacteristics.Singleton());
            NetworkBuilderServiceCharacteristicsRegistration.Register
            .TryAdd <IQuoteOfTheMomentClient>(ServiceCharacteristics.Singleton());
            NetworkBuilderServiceCharacteristicsRegistration.Register
            .TryAdd <IQuoteOfTheMomentServer>(ServiceCharacteristics.Singleton());
            NetworkBuilderServiceCharacteristicsRegistration.Register
            .TryAdd <ISecureChatClient>(ServiceCharacteristics.Singleton());
            NetworkBuilderServiceCharacteristicsRegistration.Register
            .TryAdd <ISecureChatServer>(ServiceCharacteristics.Singleton());
            NetworkBuilderServiceCharacteristicsRegistration.Register
            .TryAdd <ITelnetClient>(ServiceCharacteristics.Singleton());
            NetworkBuilderServiceCharacteristicsRegistration.Register
            .TryAdd <ITelnetServer>(ServiceCharacteristics.Singleton());
            NetworkBuilderServiceCharacteristicsRegistration.Register
            .TryAdd <IWebSocketClient>(ServiceCharacteristics.Singleton());
            NetworkBuilderServiceCharacteristicsRegistration.Register
            .TryAdd <IWebSocketServer>(ServiceCharacteristics.Singleton());
        }
 /// <summary>
 /// 获取指定服务类型的特征。
 /// </summary>
 /// <param name="serviceType">给定的服务类型。</param>
 /// <returns>默认返回 <see cref="ServiceCharacteristics.Singleton(bool)"/>。</returns>
 public override ServiceCharacteristics GetServiceCharacteristics(Type serviceType)
 => ServiceCharacteristics.Singleton();