Um .. Je devrais ajouter ceci comme un commentaire, mais apparemment mon cerveau est juste allé au large de la fin profonde, et je ne peux pas localiser le lien de réponse sur les commentaires plus :((Cerveau triste) Anyhoo, j'ai été surpris par votre assertion que M $ déprécie la configuration de wcf config du code, jusqu'à ce que je lise le lien - je dirais que leur intention est que les fichiers de configuration sont préférables au code config qui est codé en dur dans le code Lorsque vos valeurs de liaison viennent un système de configuration sw dynamique, la configuration du code est meilleure que la configuration du fichier hérés mon code pour créer une liaison http basit, avec ou sans ssl:
public static BasicHttpBinding GetBinding(string Url, int timeoutSeconds)
{
BasicHttpBinding binding = null;
UriBuilder urb = new UriBuilder(Url);
switch (urb.Scheme)
{
case "http":
binding = new BasicHttpBinding(BasicHttpSecurityMode.None);
break;
case "https":
binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport);
break;
default:
throw new ArgumentException("unknown scheme : " + urb.Scheme);
}
binding.ReaderQuotas.MaxStringContentLength = int.MaxValue;
binding.MaxBufferPoolSize = int.MaxValue;
binding.MaxReceivedMessageSize = int.MaxValue;
binding.MaxBufferSize = int.MaxValue;
if (timeoutSeconds > 0)
binding.SendTimeout = TimeSpan.FromSeconds(timeoutSeconds);
return binding;
}
l'appelant appelle
EndpointAddress addr = new EndpointAddress(url);
Binding bind = DataProviderUtilities.GetBinding(_url, timeOutSeconds);
yourserviceClient foo = new yourServiceClient(addr, bind);
Merci pour les commentaires ... Curieux si vous avez des exemples de la façon dont vous avez fait cela. MSDN contredit directement et dit que l'utilisation de code n'est pas une meilleure pratique ... http://msdn.microsoft.com/en-us/library/ms731080.aspx – BigTundra