c# - tutorial - System.IO.IOException: ¿Ha fallado el protocolo de enlace debido a un formato de paquete> inesperado?
wcf visual studio 2017 (3)
En mi caso fue Skype bloqueando el puerto 443. Vaya a Skype tools-advanced-connections y deshabilite "Usar los puertos 80 y 443 para las conexiones ..."
Alguien sabe que significa esto?
System.Net.WebException: la conexión subyacente se cerró: se produjo un error inesperado en un envío. ---> System.IO.IOException: El handshake falló debido a un formato de paquete inesperado. en System.Net.Security.SslState.StartReadFrame (Byte [] búfer, Int32 readBytes, AsyncProtocolRequest asyncRequest) en System.Net.Security.SslState.p.n.v.ns.StartReceiveBlob (Byte [] buffer) CheckCompletionBeforeNextReceive (Mensaje de ProtocolToken, AsyncProtocolRequestSyncRequest) en System.Net.Security.SslState.endartSendBlob (Bytes de los campos de los juegos), Recuento Int32, AsyncProtocolRequest) en System. asyncRequest) en System.Net.Security.SslState.ProcreAutentication (LazyAsyncResult lazyResult) en System.Net.TlsStream. (Código TryCode, BackupCode backoutCode, Object userData) en System.Threading.ExecutionContext.RunInternal (ExecutionContextecutionCont ext., devolución de llamada de ContextCallback, estado del objeto) en System.Threading.ExecutionContext.Run (ejecución de ExecutionContext, respuesta de llamada de ContextCallback, estado del objeto) en System.Net.TlsStream.PrlsDream.Wiki (Realización de LazyAsyncResult) búfer, desplazamiento Int32, tamaño Int32) en System.Net.PooledStream.Write (Byte [] búfer, desplazamiento Int32, tamaño Int32) en System.Net.ConnectStream.WriteHeaders (async booleano) --- Fin del rastro interno de la pila de excepciones - - en System.Net.HttpWebRequest.GetResponse () en System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply (TimeSpan timeout) en
EDITAR:
Este es el método que estaba llamando:
_productsService = new ProductsPortTypeClient (); _productsService.GetResortProducts (GetProductsCredentials (), GetResortProductParams ());
Parece un problema con la autenticación SSL, falla en la fase de intercambio, tal vez dos implementaciones no sean compatibles, puede verificar el formato WSDL de la respuesta, averiguar qué formato debe usarse para la comunicación y verificar si el que usted envió cumple. con él (puede usar cualquier tipo de software de monitor de red, por ejemplo, Microsoft Network Monitor)
Resumen: se utilizó un puerto incorrecto.
Mi servicio se estaba ejecutando en desarrollo en el puerto: 58328, pero la próxima vez que lo depuré se estaba ejecutando en el puerto: 44315, y esto causó el problema. ¡Así que cambiar el puerto en el lado del cliente a 44315 ayudó a resolver el problema!