Najlepsze rozwiązania dotyczące klas System.Net
Poniższe zalecenia ułatwią korzystanie z klas zawartych w programie w System.Net celu ich najlepszej korzyści:
Aby zapoznać się z najlepszymi rozwiązaniami dotyczącymi protokołu Transport Layer Security (TLS), zobacz Transport Layer Security (TLS) best practices with .NET Framework (Transport Layer Security) (Najlepsze rozwiązania dotyczące protokołu Transport Layer Security (TLS) w programie .NET Framework.
Użyj HttpClient polecenia , aby wysyłać żądania HTTP zamiast WebRequest, które były przestarzałe na platformie .NET 6. W programie .NET Framework utwórz nowe
HttpClient
wystąpienie za każdym razem, gdy musisz wysłać żądanie. (Wskazówki dotyczące platformy .NET 5+/.NET Core są bardziej zniuansowane. Aby uzyskać więcej informacji, zobacz Wytyczne dotyczące korzystania z obiektu HttpClient.Podczas pisania ASP.NET aplikacji uruchamianych na serwerze przy użyciu
System.Net
klas często lepiej jest używać metody SendAsync asynchronicznej zamiast Sendmetody .Liczba połączeń otwartych z zasobem internetowym może mieć znaczący wpływ na wydajność i przepływność sieci. System.Net domyślnie używa dwóch połączeń na aplikację na hosta. ConnectionLimit Ustawienie właściwości w ServicePoint aplikacji może zwiększyć tę liczbę dla określonego hosta. ServicePointManager.DefaultPersistentConnectionLimit Ustawienie właściwości może zwiększyć tę wartość domyślną dla wszystkich hostów.
Podczas pisania protokołów na poziomie gniazda spróbuj użyć TcpClient metody lub UdpClient zawsze, gdy jest to możliwe, zamiast pisać bezpośrednio w obiekcie Socket. Te dwie klasy klientów hermetyzują tworzenie gniazd TCP i UDP bez konieczności obsługi szczegółów połączenia.
W przypadku uzyskiwania dostępu do witryn wymagających poświadczeń użyj CredentialCache klasy , aby utworzyć pamięć podręczną poświadczeń, a nie podać je przy każdym żądaniu. Klasa CredentialCache przeszukuje pamięć podręczną w celu znalezienia odpowiednich poświadczeń do przedstawienia żądania, co ułatwia tworzenie i prezentowanie poświadczeń na podstawie adresu URL.