SendFile 对于无连接套接字引发 NotSupportedException

无连接(例如 UDP)套接字的 SendFile 方法系列的行为现在在所有平台上都是一致的。 受影响的方法现在会在所有平台上引发 NotSupportedException

以前的行为

以前,对于不需要Socket连接的情况(例如 UDP),观察到以下行为:

新行为

从 .NET 8 开始,对于无连接的 Socket(例如 UDP),将观察到以下行为:

已引入的版本

.NET 8 RC 1

破坏性变更的类型

此更改为行为更改

更改原因

考虑到SendFile通常用于处理大量数据,因此将它与无连接套接字一起使用并不合适。 此外,以前的行为不一致,在某些平台上抛出SocketException ,而在其他平台上则成功但结果不可预测。

请勿对无连接套接字使用 SendFile 方法。

受影响的 API