SendFile genereert NotSupportedException voor verbindingsloze sockets
Het gedrag van de SendFile methodefamilie voor verbindingsloze sockets (bijvoorbeeld UDP) is nu consistent op alle platforms. De betrokken methoden gooien nu een op NotSupportedException alle platforms.
Vorig gedrag
Eerder werden de volgende gedragingen waargenomen voor een verbindingloos Socket (bijvoorbeeld UDP):
- SendFile Gooide een NotSupportedException op Windows, maar niet op Unix-achtige platforms.
- De ValueTask geretourneerde van SendFileAsync een opgeslagen op SocketException alle platforms.
- Het aanroepen EndSendFile van een IAsyncResult geretourneerde oproep heeft BeginSendFile een SocketException op alle platforms geworpen.
Nieuw gedrag
Vanaf .NET 8 worden de volgende gedragingen waargenomen voor een verbindingloos Socket (bijvoorbeeld UDP):
- SendFile gooit een NotSupportedException op alle platforms.
- De ValueTask geretourneerde bestanden zijn afkomstig van SendFileAsync winkels NotSupportedException op alle platforms.
- Het aanroepen EndSendFile van BeginSendFile een IAsyncResult geretourneerde werpt een NotSupportedException op alle platforms.
Versie geïntroduceerd
.NET 8 RC 1
Type wijziging die fouten veroorzaken
Deze wijziging is een gedragswijziging.
Reden voor wijziging
Aangezien dit SendFile
meestal wordt gebruikt met grote hoeveelheden gegevens, is het niet zinvol om deze te gebruiken met verbindingsloze sockets. Bovendien was het vorige gedrag inconsistent en gooide het SocketException
op sommige platforms, terwijl het op anderen lukt met een onvoorspelbaar resultaat.
Aanbevolen actie
Gebruik geen SendFile
methoden voor verbindingsloze sockets.