J'essaie de faire en sorte que cela fonctionne sur une connexion tcp interne. Le code fonctionne parfaitement en développement, mais lorsqu'il est déployé sur Azure, je reçois ...Socket/Timeout dans Azure WebRole pour une communication synchrone avec WCF Host dans WorkerRole
une CommunicationException "La connexion socket a été annulée" en essayant de se connecter à "net.tcp: // ......" avec un temps code environ 60 secondes, il a attendu.
côté hôte WCF:
_WCFHost.AddServiceEndpoint(typeof(IServiceWCFContract), new NetTcpBinding(),_ServiceUrl);
_WCFHost.Open();
WCF côté client.
var channelfactory = new ChannelFactory<IServiceWCFContract>(new NetTcpBinding(), service.Url);
channelfactory.Open(new TimeSpan(0,0,20)); //20 sec timeout
var resp = channel.GetValues();
Je suis sûr que je suis preneuse l'URL correcte des RoleEnvironment.Roles [ "WcfWorkerRole"] Les instances
J'ai vérifié que enableNativeCodeExecution = "true" est défini dans le fichier .csdef dans les deux rôles. J'ai également essayé la liaison http de base, mais azure n'aime pas les rôles de travail ayant des espaces http: names.