Пример #1
0
        private void ApplyBehavior(string behaviorConfig)
        {
            BehaviorsSection        behaviorsSection = ConfigUtil.BehaviorsSection;
            EndpointBehaviorElement behaviorElement  = behaviorsSection.EndpointBehaviors [behaviorConfig];
            int i = 0;

            foreach (BehaviorExtensionElement el in behaviorElement)
            {
                IEndpointBehavior behavior = (IEndpointBehavior)el.CreateBehavior();
                Endpoint.Behaviors.Remove(behavior.GetType());
                Endpoint.Behaviors.Add(behavior);
            }
        }
 private static void FillBehaviorInfo(IEndpointBehavior behavior, IWmiInstance existingInstance, out IWmiInstance instance)
 {
     instance = null;
     if (behavior is ClientCredentials)
     {
         instance = existingInstance.NewInstance("ClientCredentials");
         ClientCredentials credentials = (ClientCredentials) behavior;
         instance.SetProperty("SupportInteractive", credentials.SupportInteractive);
         if ((credentials.ClientCertificate != null) && (credentials.ClientCertificate.Certificate != null))
         {
             instance.SetProperty("ClientCertificate", credentials.ClientCertificate.Certificate.ToString());
         }
         if (credentials.IssuedToken != null)
         {
             string str = string.Format(CultureInfo.InvariantCulture, "{0}: {1}", new object[] { "CacheIssuedTokens", credentials.IssuedToken.CacheIssuedTokens });
             instance.SetProperty("IssuedToken", str);
         }
         if (credentials.HttpDigest != null)
         {
             string str2 = string.Format(CultureInfo.InvariantCulture, "{0}: {1}", new object[] { "AllowedImpersonationLevel", credentials.HttpDigest.AllowedImpersonationLevel.ToString() });
             instance.SetProperty("HttpDigest", str2);
         }
         if ((credentials.Peer != null) && (credentials.Peer.Certificate != null))
         {
             instance.SetProperty("Peer", credentials.Peer.Certificate.ToString(true));
         }
         if (credentials.UserName != null)
         {
             instance.SetProperty("UserName", "********");
         }
         if (credentials.Windows != null)
         {
             string str3 = string.Format(CultureInfo.InvariantCulture, "{0}: {1}, {2}: {3}", new object[] { "AllowedImpersonationLevel", credentials.Windows.AllowedImpersonationLevel.ToString(), "AllowNtlm", credentials.Windows.AllowNtlm });
             instance.SetProperty("Windows", str3);
         }
     }
     else if (behavior is MustUnderstandBehavior)
     {
         instance = existingInstance.NewInstance("MustUnderstandBehavior");
     }
     else if (behavior is SynchronousReceiveBehavior)
     {
         instance = existingInstance.NewInstance("SynchronousReceiveBehavior");
     }
     else if (behavior is DispatcherSynchronizationBehavior)
     {
         instance = existingInstance.NewInstance("DispatcherSynchronizationBehavior");
     }
     else if (behavior is TransactedBatchingBehavior)
     {
         instance = existingInstance.NewInstance("TransactedBatchingBehavior");
         instance.SetProperty("MaxBatchSize", ((TransactedBatchingBehavior) behavior).MaxBatchSize);
     }
     else if (behavior is ClientViaBehavior)
     {
         instance = existingInstance.NewInstance("ClientViaBehavior");
         instance.SetProperty("Uri", ((ClientViaBehavior) behavior).Uri.ToString());
     }
     else if (behavior is IWmiInstanceProvider)
     {
         IWmiInstanceProvider provider = (IWmiInstanceProvider) behavior;
         instance = existingInstance.NewInstance(provider.GetInstanceType());
         provider.FillInstance(instance);
     }
     else
     {
         instance = existingInstance.NewInstance("Behavior");
     }
     if (instance != null)
     {
         instance.SetProperty("Type", behavior.GetType().FullName);
     }
 }
Пример #3
0
        static void FillBehaviorInfo(IEndpointBehavior behavior, IWmiInstance existingInstance, out IWmiInstance instance)
        {
            Fx.Assert(null != existingInstance, "");
            Fx.Assert(null != behavior, "");
            instance = null;
            if (behavior is ClientCredentials)
            {
                instance = existingInstance.NewInstance("ClientCredentials");
                ClientCredentials specificBehavior = (ClientCredentials)behavior;
                instance.SetProperty(AdministrationStrings.SupportInteractive, specificBehavior.SupportInteractive);
                if (specificBehavior.ClientCertificate != null && specificBehavior.ClientCertificate.Certificate != null)
                {
                    instance.SetProperty(AdministrationStrings.ClientCertificate, specificBehavior.ClientCertificate.Certificate.ToString());
                }
                if (specificBehavior.IssuedToken != null)
                {
                    string result = String.Format(CultureInfo.InvariantCulture,
                                                  "{0}: {1}",
                                                  AdministrationStrings.CacheIssuedTokens, specificBehavior.IssuedToken.CacheIssuedTokens);
                    instance.SetProperty(AdministrationStrings.IssuedToken, result);
                }
                if (specificBehavior.HttpDigest != null)
                {
                    string result = String.Format(CultureInfo.InvariantCulture,
                                                  "{0}: {1}",
                                                  AdministrationStrings.AllowedImpersonationLevel, specificBehavior.HttpDigest.AllowedImpersonationLevel.ToString());
                    instance.SetProperty(AdministrationStrings.HttpDigest, result);
                }
                if (specificBehavior.Peer != null && specificBehavior.Peer.Certificate != null)
                {
                    instance.SetProperty(AdministrationStrings.Peer, specificBehavior.Peer.Certificate.ToString(true));
                }
                if (specificBehavior.UserName != null)
                {
                    instance.SetProperty(AdministrationStrings.UserName, "********");
                }
                if (specificBehavior.Windows != null)
                {
#pragma warning disable 618 // To suppress AllowNtlm warning.
                    string result = String.Format(CultureInfo.InvariantCulture,
                                                  "{0}: {1}, {2}: {3}",
                                                  AdministrationStrings.AllowedImpersonationLevel,
                                                  specificBehavior.Windows.AllowedImpersonationLevel.ToString(),
                                                  AdministrationStrings.AllowNtlm,
                                                  specificBehavior.Windows.AllowNtlm);
#pragma warning restore 618

                    instance.SetProperty(AdministrationStrings.Windows, result);
                }
            }
            else if (behavior is MustUnderstandBehavior)
            {
                instance = existingInstance.NewInstance("MustUnderstandBehavior");
            }
            else if (behavior is SynchronousReceiveBehavior)
            {
                instance = existingInstance.NewInstance("SynchronousReceiveBehavior");
            }
            else if (behavior is DispatcherSynchronizationBehavior)
            {
                instance = existingInstance.NewInstance("DispatcherSynchronizationBehavior");
            }
            else if (behavior is TransactedBatchingBehavior)
            {
                instance = existingInstance.NewInstance("TransactedBatchingBehavior");
                instance.SetProperty(AdministrationStrings.MaxBatchSize, ((TransactedBatchingBehavior)behavior).MaxBatchSize);
            }
            else if (behavior is ClientViaBehavior)
            {
                instance = existingInstance.NewInstance("ClientViaBehavior");
                instance.SetProperty(AdministrationStrings.Uri, ((ClientViaBehavior)behavior).Uri.ToString());
            }
            else if (behavior is IWmiInstanceProvider)
            {
                IWmiInstanceProvider instanceProvider = (IWmiInstanceProvider)behavior;
                instance = existingInstance.NewInstance(instanceProvider.GetInstanceType());
                instanceProvider.FillInstance(instance);
            }
            else
            {
                instance = existingInstance.NewInstance("Behavior");
            }
            if (null != instance)
            {
                instance.SetProperty(AdministrationStrings.Type, behavior.GetType().FullName);
            }
        }
        static void FillBehaviorInfo(IEndpointBehavior behavior, IWmiInstance existingInstance, out IWmiInstance instance)
        {
            Fx.Assert(null != existingInstance, "");
            Fx.Assert(null != behavior, "");
            instance = null;
            if (behavior is ClientCredentials)
            {
                instance = existingInstance.NewInstance("ClientCredentials");
                ClientCredentials specificBehavior = (ClientCredentials)behavior;
                instance.SetProperty(AdministrationStrings.SupportInteractive, specificBehavior.SupportInteractive);
                if (specificBehavior.ClientCertificate != null && specificBehavior.ClientCertificate.Certificate != null)
                {
                    instance.SetProperty(AdministrationStrings.ClientCertificate, specificBehavior.ClientCertificate.Certificate.ToString());
                }
                if (specificBehavior.IssuedToken != null)
                {
                    string result = String.Format(CultureInfo.InvariantCulture,
                                        "{0}: {1}",
                                        AdministrationStrings.CacheIssuedTokens, specificBehavior.IssuedToken.CacheIssuedTokens);
                    instance.SetProperty(AdministrationStrings.IssuedToken, result);
                }
                if (specificBehavior.HttpDigest != null)
                {
                    string result = String.Format(CultureInfo.InvariantCulture,
                                "{0}: {1}",
                                AdministrationStrings.AllowedImpersonationLevel, specificBehavior.HttpDigest.AllowedImpersonationLevel.ToString());
                    instance.SetProperty(AdministrationStrings.HttpDigest, result);
                }
                if (specificBehavior.Peer != null && specificBehavior.Peer.Certificate != null)
                {
                    instance.SetProperty(AdministrationStrings.Peer, specificBehavior.Peer.Certificate.ToString(true));
                }
                if (specificBehavior.UserName != null)
                {
                    instance.SetProperty(AdministrationStrings.UserName, "********");
                }
                if (specificBehavior.Windows != null)
                {

#pragma warning disable 618 // To suppress AllowNtlm warning.
                    string result = String.Format(CultureInfo.InvariantCulture,
                                                    "{0}: {1}, {2}: {3}",
                                                    AdministrationStrings.AllowedImpersonationLevel,
                                                    specificBehavior.Windows.AllowedImpersonationLevel.ToString(),
                                                    AdministrationStrings.AllowNtlm,
                                                    specificBehavior.Windows.AllowNtlm);
#pragma warning restore 618

                    instance.SetProperty(AdministrationStrings.Windows, result);


                }
            }
            else if (behavior is MustUnderstandBehavior)
            {
                instance = existingInstance.NewInstance("MustUnderstandBehavior");
            }
            else if (behavior is SynchronousReceiveBehavior)
            {
                instance = existingInstance.NewInstance("SynchronousReceiveBehavior");
            }
            else if (behavior is DispatcherSynchronizationBehavior)
            {
                instance = existingInstance.NewInstance("DispatcherSynchronizationBehavior");
            }
            else if (behavior is TransactedBatchingBehavior)
            {
                instance = existingInstance.NewInstance("TransactedBatchingBehavior");
                instance.SetProperty(AdministrationStrings.MaxBatchSize, ((TransactedBatchingBehavior)behavior).MaxBatchSize);
            }
            else if (behavior is ClientViaBehavior)
            {
                instance = existingInstance.NewInstance("ClientViaBehavior");
                instance.SetProperty(AdministrationStrings.Uri, ((ClientViaBehavior)behavior).Uri.ToString());
            }
            else if (behavior is IWmiInstanceProvider)
            {
                IWmiInstanceProvider instanceProvider = (IWmiInstanceProvider)behavior;
                instance = existingInstance.NewInstance(instanceProvider.GetInstanceType());
                instanceProvider.FillInstance(instance);
            }
            else
            {
                instance = existingInstance.NewInstance("Behavior");
            }
            if (null != instance)
            {
                instance.SetProperty(AdministrationStrings.Type, behavior.GetType().FullName);
            }
        }
 private static void FillBehaviorInfo(IEndpointBehavior behavior, IWmiInstance existingInstance, out IWmiInstance instance)
 {
     instance = null;
     if (behavior is ClientCredentials)
     {
         instance = existingInstance.NewInstance("ClientCredentials");
         ClientCredentials credentials = (ClientCredentials)behavior;
         instance.SetProperty("SupportInteractive", credentials.SupportInteractive);
         if ((credentials.ClientCertificate != null) && (credentials.ClientCertificate.Certificate != null))
         {
             instance.SetProperty("ClientCertificate", credentials.ClientCertificate.Certificate.ToString());
         }
         if (credentials.IssuedToken != null)
         {
             string str = string.Format(CultureInfo.InvariantCulture, "{0}: {1}", new object[] { "CacheIssuedTokens", credentials.IssuedToken.CacheIssuedTokens });
             instance.SetProperty("IssuedToken", str);
         }
         if (credentials.HttpDigest != null)
         {
             string str2 = string.Format(CultureInfo.InvariantCulture, "{0}: {1}", new object[] { "AllowedImpersonationLevel", credentials.HttpDigest.AllowedImpersonationLevel.ToString() });
             instance.SetProperty("HttpDigest", str2);
         }
         if ((credentials.Peer != null) && (credentials.Peer.Certificate != null))
         {
             instance.SetProperty("Peer", credentials.Peer.Certificate.ToString(true));
         }
         if (credentials.UserName != null)
         {
             instance.SetProperty("UserName", "********");
         }
         if (credentials.Windows != null)
         {
             string str3 = string.Format(CultureInfo.InvariantCulture, "{0}: {1}, {2}: {3}", new object[] { "AllowedImpersonationLevel", credentials.Windows.AllowedImpersonationLevel.ToString(), "AllowNtlm", credentials.Windows.AllowNtlm });
             instance.SetProperty("Windows", str3);
         }
     }
     else if (behavior is MustUnderstandBehavior)
     {
         instance = existingInstance.NewInstance("MustUnderstandBehavior");
     }
     else if (behavior is SynchronousReceiveBehavior)
     {
         instance = existingInstance.NewInstance("SynchronousReceiveBehavior");
     }
     else if (behavior is DispatcherSynchronizationBehavior)
     {
         instance = existingInstance.NewInstance("DispatcherSynchronizationBehavior");
     }
     else if (behavior is TransactedBatchingBehavior)
     {
         instance = existingInstance.NewInstance("TransactedBatchingBehavior");
         instance.SetProperty("MaxBatchSize", ((TransactedBatchingBehavior)behavior).MaxBatchSize);
     }
     else if (behavior is ClientViaBehavior)
     {
         instance = existingInstance.NewInstance("ClientViaBehavior");
         instance.SetProperty("Uri", ((ClientViaBehavior)behavior).Uri.ToString());
     }
     else if (behavior is IWmiInstanceProvider)
     {
         IWmiInstanceProvider provider = (IWmiInstanceProvider)behavior;
         instance = existingInstance.NewInstance(provider.GetInstanceType());
         provider.FillInstance(instance);
     }
     else
     {
         instance = existingInstance.NewInstance("Behavior");
     }
     if (instance != null)
     {
         instance.SetProperty("Type", behavior.GetType().FullName);
     }
 }