2 Stimmen

Socket/Timeout in Azure WebRole für synchrone Kommunikation mit WCF Host in WorkerRole

Ich versuche, dies über eine interne TCP-Verbindung zum Laufen zu bringen. Der Code läuft einwandfrei in der Entwicklung, aber bei der Bereitstellung auf Azure erhalte ich ...

eine CommunicationException "The socket connection was aborted" beim Versuch, eine Verbindung zu "net.tcp://......" herzustellen, mit einem Timecode von ca. 60 Sekunden Wartezeit.

wcf-Gastgeberseite:

_WCFHost.AddServiceEndpoint(typeof(IServiceWCFContract), new NetTcpBinding(),_ServiceUrl);
_WCFHost.Open();

wcf-Client-Seite:

var channelfactory = new ChannelFactory<IServiceWCFContract>(new NetTcpBinding(), service.Url);            
channelfactory.Open(new TimeSpan(0,0,20)); //20 sec timeout
var resp = channel.GetValues();

Ich bin sicher, dass ich die richtige URL aus der RoleEnvironment.Roles["WcfWorkerRole"].Instances abrufe.

Ich habe sichergestellt, dass enableNativeCodeExecution = "true" in der .csdef in beiden Rollen eingestellt ist.

Ive versucht grundlegende http-Bindung zu, aber Azure mag nicht die Arbeiter Rollen mit http: Namensräume.

0voto

Rob Tillie Punkte 1137

Im Forum von Windows Azure gibt es eine Reihe von Beiträge was darauf hindeutet, dass eine TCP-Verbindung derzeit nicht unterstützt wird. Ich würde versuchen, den Endpunkt in wsHttp zu ändern und zu prüfen, ob das funktioniert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X