Toutes les tentatives pour modifier les paramètres de configuration du point final de self-service hébergé WCF Fail:WCF point final paramètres de liaison ne sont pas mis à jour
public void Start()
{
BasicHttpBinding binding = new BasicHttpBinding();
binding.Name = "NAVBinding";
//--------------------START editing-------------------------------
TimeSpan interval = new TimeSpan(1, 50, 00); // all these following (inbetween comments) lines have no effect
binding.MaxReceivedMessageSize = 2147483647;
binding.MaxBufferSize = 2147483647;
binding.ReceiveTimeout = interval;
binding.OpenTimeout = interval;
binding.CloseTimeout = interval;
binding.SendTimeout = interval;
XmlDictionaryReaderQuotas readerQuotas = new XmlDictionaryReaderQuotas();
readerQuotas.MaxDepth = 2147483647;
readerQuotas.MaxStringContentLength = 2147483647;
readerQuotas.MaxArrayLength = 2147483647;
readerQuotas.MaxBytesPerRead = 2147483647;
readerQuotas.MaxNameTableCharCount = 2147483647;
binding.ReaderQuotas = readerQuotas;
//----------------------END editing---------------------------
binding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;
Uri baseAddress = new Uri("http://localhost:8000/nav/customer");
Customer_Service service = new Customer_Service();
serviceHost = new ServiceHost(service, baseAddress);
serviceHost.AddServiceEndpoint(typeof(ICustomer_Service), binding, baseAddress);
OpenMetadataExchange(baseAddress);
service.navEventListner = this;
serviceHost.Open();
}
mais je peux facilement changer la propriété MaxReceivedMessageSize
avec l'aide de wcfStorm application et dans ce cas, c'est vraiment changé. Mais après le redémarrage du service, tout revient à ses paramètres par défaut (par exemple MaxReceivedMessageSize = 65536).
S'il vous plaît, qu'est-ce que je fais? Comment modifier mon code afin que les nouvelles valeurs soient mises à jour?
comment ** savez-vous ** que les paramètres ne fonctionnent pas ?? Vous attendez-vous à ce que le fichier de configuration soit mis à jour, ou quelles sont vos attentes? –
Je sais que les paramètres ne fonctionnent pas d'essayer d'invoquer la méthode qui devrait transférer des données supérieures à 65536, dans ce cas, j'ai une erreur (une autre méthode de transfert de données de moins de quantité est OK). Si je, en utilisant wcf testing app (dans mon cas wcfstorm), change deux paramètres MaxReceivedMessageSize et MaxBufferSize à une plus grande valeur, cette méthode avec de grandes données invoque et se termine sans problèmes. – rem
J'ai aussi beaucoup essayé de jouer avec les fichiers app.config (à la fois sur le client et sur le serveur) mais rien n'a aidé. Je ne l'ai pas souligné dans ma question parce que je pense que ces paramètres codés en C# ont plus d'impact (peut-être que je suis très, mais, en fait, d'abord dans l'application de service côté serveur je n'ai pas app.config fichier soit et tout a bien fonctionné (sauf pour les nouveaux paramètres de liaison MessageSize) – rem