Network Programming in the .NET Framework
The Microsoft .NET Framework provides a layered, extensible, and managed implementation of Internet services that can be quickly and easily integrated into your applications. Your network applications can build on pluggable protocols to automatically take advantage of new Internet protocols, or they can use a managed implementation of the Windows socket interface to work with the network on the socket level.
In This Section
- Introducing Pluggable Protocols
Describes how to access an Internet resource without regard to the access protocol that it requires.
- Requesting Data
Explains how to use pluggable protocols to upload and download data from Internet resources.
- Programming Pluggable Protocols
Explains how to derive protocol-specific classes to implement pluggable protocols.
- Using Application Protocols
Describes programming applications that take advantage of network protocols such as TCP, UDP, and HTTP.
- Internet Protocol Version 6
Describes the advantages of Internet Protocol version 6 (IPv6) over the current version of the Internet Protocol suite (IPv4), describes IPv6 addressing, routing and auto-configuration, and how to enable and disable IPv6.
- Configuring Internet Applications
Explains how to use the .NET Framework configuration files to configure Internet applications.
- Network Tracing in the .NET Framework
Explains how to use network tracing to get information about method invocations and network traffic generated by a managed application.
- Cache Management for Network Applications
- Security in Network Programming
Describes how to use standard Internet security and authentication techniques.
- Best Practices for System.Net Classes
Provides tips and tricks for getting the most out of your Internet applications.
- Accessing the Internet Through a Proxy
Describes how to configure proxies.
Describes how to gather information about network events, changes, statistics, and properties and also explains how to determine whether a remote host is reachable by using the System.Net.NetworkInformation.Ping class.
- Changes to the System.Uri namespace in Version 2.0
Describes several changes made to the System.Uri class in Version 2.0 to fixed incorrect behavior, enhance usability, and enhance security.
- International Resource Identifier Support in System.Uri
Describes enhancements to the System.Uri class in Version 3.5, 3.0 SP1, and 2.0 SP1 for International Resource Identifier (IRI) and Internationalized Domain Name (IDN) support.
- Socket Performance Enhancements in Version 3.5
Describes a set of enhancements to the System.Net.Sockets.Socket class in Version 3.5, 3.0 SP1, and 2.0 SP1 that provide an alternative asynchronous pattern that can be used by specialized high-performance socket applications.
- Peer Name Resolution Protocol
Describes support added in Version 3.5 to support the Peer Name Resolution Protocol (PNRP), a serverless and dynamic name registration and name resolution protocol. These new features are supported by the System.Net.PeerToPeer namespace.
- Peer-to-Peer Collaboration
Describes support added in Version 3.5 to support the Peer-to-Peer Collaboration that builds on PNRP. These new features are supported by the System.Net.PeerToPeer.Collaboration namespace.
- Changes to NTLM authentication for HttpWebRequest in Version 3.5 SP1
Describes security changes made in Version 3.5 SP1 that affect how integrated Windows authentication is handled by the System.Net.HttpWebRequest, System.Net.HttpListener, System.Net.Security.NegotiateStream, and related classes in the System.Net namespace.
- Integrated Windows Authentication with Extended Protection
Describes enhancements for extended protection that affect how integrated Windows authentication is handled by the System.Net.HttpWebRequest, System.Net.HttpListener, System.Net.Mail.SmtpClient, System.Net.Security.SslStream, System.Net.Security.NegotiateStream, and related classes in the System.Net and related namespaces.
- NAT Traversal using IPv6 and Teredo
- Network Isolation for Windows Store Apps
- Network Programming Samples
Links to downloadable network programming samples that use classes in the System.Net, System.Net.Cache, System.Net.Configuration, System.Net.Mail, System.Net.Mime, System.Net.NetworkInformation, System.Net.PeerToPeer, System.Net.Security, System.Net.Sockets namespaces.
Provides a simple programming interface for many of the protocols used on networks today. The System.Net.WebRequest and System.Net.WebResponse classes in this namespace are the basis for pluggable protocols.
Classes that applications use to programmatically access and update configuration settings for the System.Net namespaces.
Classes that provides a programming interface for modern HTTP applications.
Provides support for collections of HTTP headers used by the System.Net.Http namespace
Classes to compose and send mail using the SMTP protocol.
Defines types that are used to represent Multipurpose Internet Mail Exchange (MIME) headers used by classes in the System.Net.Mail namespace.
Classes to programmatically gather information about network events, changes, statistics, and properties.
Provides a managed implementation of the Peer Name Resolution Protocol (PNRP) for developers.
Provides a managed implementation of the Peer-to-Peer Collaboration interface for developers.
Classes to provide network streams for secure communications between hosts.
Provides a managed implementation of the Windows Sockets (Winsock) interface for developers who need to help control access to the network.
Provides a managed implementation of the WebSocket interface for developers.
Provides an object representation of a uniform resource identifier (URI) and easy access to the parts of the URI.
Provides support for authentication using extended protection for applications.
Provides support for configuration of authentication using extended protection for applications.