Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Chování SendFile rodiny metod pro bez připojení (například UDP) soketů je teď konzistentní na všech platformách. Ovlivněné metody nyní vyvolávají NotSupportedException na všech platformách.
Předchozí chování
Dříve se u bezpojení Socket (například UDP) zjistilo následující chování:
- SendFile vyvolal výjimku na Windows, ale ne na unixových platformách.
- ValueTask vrácený z SendFileAsync uložil SocketException na všech platformách.
- Volání EndSendFile na IAsyncResult, který byl vrácen z BeginSendFile, vyvolalo SocketException na všech platformách.
Nové chování
Počínaje technologií .NET 8 se pro připojení bez připojení Socket (například UDP) pozorují následující chování:
- SendFile vyvolá výjimku na NotSupportedException všech platformách.
- Vrácená ValueTask z SendFileAsync ukládá NotSupportedException na všech platformách.
- Volání EndSendFile na IAsyncResult, která je vrácena z BeginSendFile, vyvolá NotSupportedException na všech platformách.
Verze byla představena
.NET 8 RC 1
Typ zásadní změny
Tato změna je změna chování.
Důvod změny
Vzhledem k tomu, že se SendFile obvykle používá s velkými objemy dat, nemá smysl ho používat se sokety bez připojení. Kromě toho bylo předchozí chování nekonzistentní, na některých platformách vyvolalo SocketException, zatímco na jiných bylo úspěšné s nepředvídatelným výsledkem.
Doporučená akce
Nepoužívejte SendFile metody pro sokety bez připojení.