Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O comportamento da família de SendFile métodos para soquetes sem conexão (por exemplo, UDP) agora é consistente em todas as plataformas. Os métodos afetados agora lançam um NotSupportedException em todas as plataformas.
Comportamento anterior
Anteriormente, para Socket sem conexão (por exemplo, UDP), os seguintes comportamentos eram observados:
- SendFile lançava um NotSupportedException no Windows, mas não em plataformas semelhantes ao Unix.
- O ValueTask retornado de um SendFileAsync armazenava um SocketException em todas as plataformas.
- Chamar EndSendFile um em um IAsyncResult retornado de BeginSendFile lançava um SocketException em todas as plataformas.
Novo comportamento
A partir do .NET 8, para uma conexão sem Socket (por exemplo, UDP), os seguintes comportamentos são observados:
- SendFile lança um NotSupportedException em todas as plataformas.
- O ValueTask retornado de SendFileAsync armazena um NotSupportedException em todas as plataformas.
- Chamar um EndSendFile em um IAsyncResult retornado de BeginSendFile lança um NotSupportedException em todas as plataformas.
Versão introduzida
.NET 8 RC 1
Tipo de mudança disruptiva
Esta é uma alteração comportamental.
Motivo da alteração
Dado que SendFile normalmente é usado com grandes quantidades de dados, não faz sentido usá-los com soquetes sem conexão. Além disso, o comportamento anterior era inconsistente, lançando SocketException em algumas plataformas, ao mesmo tempo em que tinha êxito em outras com um resultado imprevisível.
Ação recomendada
Não use SendFile métodos para soquetes sem conexão.