asp.net mvc 4 and the web api pdf free download : Batch merge pdf software control cloud windows web page .net class McGraw.Hill.CSharp.4.0.The.Complete.Reference.Apr.201092-part1257

This page intentionally left blank 
Batch merge pdf - Merge, append PDF files in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Provide C# Demo Codes for Merging and Appending PDF Document
pdf combine files online; c# merge pdf files
Batch merge pdf - VB.NET PDF File Merge Library: Merge, append PDF files in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
VB.NET Guide and Sample Codes to Merge PDF Documents in .NET Project
c# combine pdf; add two pdf files together
26
Networking Through the 
Internet Using System.Net
C
# is a language designed for the modern computing environment, of which 
the Internet is, obviously, an important part. A main design criteria for C# was, 
therefore, to include those features necessary for accessing the Internet. Although 
-
side operations, download files, and obtain resources, the process was not as streamlined 
as most programmers would like. C# remedies that situation. Using standard features of 
other types of Internet-based code.
The primary namespace for networking is System.Net. It defines a large number of high-
Several namespaces nested under System.Net are also provided. For example, low-level 
networking control through sockets is found in System.Net.Sockets. Mail support is found 
inSystem.Net.Mail. Support for secure network streams is found in System.Net.Security.
Several other nested namespaces provide additional functionality. Another important 
networking-related namespace is System.Web. It (and its nested namespaces) supports 
ASP.NET-based network applications.
Although the .NET Framework offers great flexibility and many options for networking, 
for many applications, the functionality provided by System.Net is a best choice. It provides 
both convenience and ease-of-use. For this reason, System.Netis the namespace we will be 
using in this chapter.
The System.Net Members
System.Net is a large namespace that contains many members. It is far beyond the scope of 
this chapter to discuss them all or to discuss all aspects related to Internet programming. (In 
fact, an entire book is needed to fully cover networking in detail.) However, it is worthwhile 
to list the members of System.Net so you have an idea of what is available for your use.
895
CHAPTER
VB.NET Image: PDF to Image Converter, Convert Batch PDF Pages to
VB.NET Imaging - Convert PDF to Image Using VB. VB.NET Code for Converting PDF to Image within .NET Imaging Converting SDK. Visual
all jpg to one pdf converter; pdf mail merge
Convert Images, Batch Conversion in .NET Winfroms| Online
VB.NET File: Merge PDF; VB.NET File: Split PDF Generator. PDF Reader. Twain Scanning. DICOM Reading. speed; Include single image conversion; Support batch conversion
apple merge pdf; batch pdf merger online
896
Part II: Exploring the C# Library
The classes defined by System.Net are shown here:
AuthenticationManager
Authorization
Cookie
CookieCollection
CookieContainer
CookieException
CredentialCache
Dns
DnsEndPoint
DnsPermission
DnsPermissionAttribute
DownloadDataCompletedEventArgs
DownloadProgressChangedEventArgs
DownloadStringCompletedEventArgs
EndPoint
EndpointPermission
FileWebRequest
FileWebResponse
FtpWebRequest
FtpWebResponse
HttpListener 
HttpListenerBasicIdentity
HttpListenerContext
HttpListenerException
HttpListenerPrefixCollection 
HttpListenerRequest
HttpListenerResponse
HttpVersion
HttpWebRequest
HttpWebResponse
IPAddress
IPEndPoint
IPEndPointCollection
IPHostEntry
IrDAEndPoint
NetworkCredential
OpenReadCompletedEventArgs
OpenWriteCompletedEventArgs
ProtocolViolationException
ServicePoint
ServicePointManager
SocketAddress
SocketPermission
SocketPermissionAttribute
TransportContext
UploadDataCompletedEventArgs
UploadFileCompletedEventArgs
UploadProgressChangedEventArgs
UploadStringCompletedEventArgs
UploadValuesCompletedEventArgs
WebClient
WebException
WebHeaderCollection
WebPermission
WebPermissionAttribute
WebProxy
WebRequest
WebRequestMethods
WebRequestMethods.File
WebRequestMethods.Ftp 
WebRequestMethods.Http 
WebResponse
WebUtility
Convert Image & Documents Formats in Web Viewer| Online Tutorials
VB.NET File: Merge PDF; VB.NET File: Split PDF Generator. PDF Reader. Twain Scanning. DICOM Reading. Support for single conversion; Include batch conversion; Convert
add pdf together; how to combine pdf files
C# PDF: Use C# APIs to Control Fully on PDF Rendering Process
toolkit, users are able to control rendered image resolution, region size of PDF page or rendered picture, as well as batch or individual PDF to image
pdf merger online; reader combine pdf
P
A
R
T
I
I
Chapter 26: Networking Through the Internet Using System.Net  
897
System.Net defines the following interfaces:
IAuthenticationModule
ICertificatePolicy
ICredentialPolicy
ICredentials
ICredentialsByHost
IWebProxy
IWebProxyScript
IWebRequestCreate
It defines these enumerations:
AuthenticationSchemes
DecompressionMethods
FtpStatusCode
HttpRequestHeader
HttpResponseHeader
HttpStatusCode
NetworkAccess
SecurityProtocolType
TransportType
WebExceptionStatus
System.Net also defines several delegates.
AlthoughSystem.Netdefines many members, only a few are needed to accomplish most 
common Internet programming tasks. At the core of networking are the abstract classes 
WebRequest and WebResponse. These classes are inherited by classes that support a 
specific network protocol. (A protocol defines the rules used to send information over 
a network.) For example, the derived classes that support the standard HTTP protocol 
are HttpWebRequest and HttpWebResponse.
Even though WebRequest and WebResponse are easy to use, for some tasks, you can 
employ an even simpler approach based on WebClient. For example, if you only need to 
upload or download a file, then WebClient is often the best way to accomplish it.
Uniform Resource Identifiers
Fundamental to Internet programming is the Uniform Resource Identifier (URI). A URI
describes the location of some resource on the network. A URI is also commonly called a 
URL, which is short for Uniform Resource Locator. Because Microsoft uses the term URI when 
describing the members of System.Net, this book will do so, too. You are no doubt familiar 
with URIs because you use one every time you enter an address into your Internet browser.
A URI has the following simplified general form:
Protocol://HostName/FilePath?Query
Protocol specifies the protocol being used, such as HTTP. HostName identifies a specific server, 
such as mhprofessional.com or www.HerbSchildt.com. FilePath specifies the path to a specific 
file. If FilePath is not specified, the default page at the specified HostName is obtained. Finally, 
Query specifies information that will be sent to the server. Query is optional. In C#, URIs are 
encapsulated by the Uri class, which is examined later in this chapter.
VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to
NET convert PDF to Jpeg, VB.NET compress PDF, VB.NET print PDF, VB.NET merge PDF files, VB Professional .NET PDF converter control for batch conversion.
break pdf into multiple files; adding pdf pages together
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
text from PDF, VB.NET convert PDF to Jpeg, VB.NET compress PDF, VB.NET print PDF, VB.NET merge PDF files, VB.NET Professional .NET PDF batch conversion control.
c# merge pdf pages; pdf combine pages
898
Part II: Exploring the C# Library
Internet Access Fundamentals
The classes contained in System.Net support a request/response model of Internet 
interaction. In this approach, your program, which is the client, requests information from 
the server and then waits for the response. For example, as a request, your program might 
send to the server the URI of some website. The response that you will receive is the 
hypertext associated with that URI. This request/response approach is both convenient 
and simple to use because most of the details are handled for you.
The hierarchy of classes topped by WebRequest and WebResponse implement what 
Microsoft calls pluggable protocols. As most readers know, there are several different types of 
network communication protocols. The most common for Internet use is HyperText Transfer 
Protocol (HTTP). Another is File Transfer Protocol (FTP). When a URI is constructed, the 
prefix of the URI specifies the protocol. For example, http://www.HerbSchildt.com uses 
the prefix http, which specifies hypertext transfer protocol.
As mentioned earlier, WebRequest and WebResponse are abstract classes that define 
the general request/response operations that are common to all protocols. From them 
are derived concrete classes that implement specific protocols. Derived classes register 
themselves, using the static method RegisterPrefix( ), which is defined by WebRequest.
When you create a WebRequest object, the protocol specified by the URI’s prefix will 
oach is 
that most of your code remains the same no matter what type of protocol you are using.
The .NET runtime defines the HTTP, HTTPS, file, and FTP protocols. Thus, if you specify 
a URI that uses the HTTP prefix, you will automatically receive the HTTP-compatible class 
that supports it. If you specify a URI that uses the FTP prefix, you will automatically receive 
the FTP-compatible class that supports it.
Because HTTP is the most commonly used protocol, it is the only one discussed in this 
chapter. (The same techniques, however, will apply to all supported protocols.) The classes 
that support HTTP are HttpWebRequest and HttpWebResponse. These classes inherit 
WebRequest and WebResponse and add several members of their own, which apply to 
the HTTP protocol.
System.Net supports both synchronous and asynchronous communication. For many 
Internet uses, synchronous transactions are the best choice because they are easy to use. 
With synchronous communications, your program sends a request and then waits until 
the response is received. For some types of high-performance applications, asynchronous 
communication is better. Using the asynchronous approach, your program can continue 
processing while waiting for information to be transferred. However, asynchronous 
communications are more difficult to implement. Furthermore, not all programs benefit 
from an asynchronous approach. For example, often when information is needed from 
the Internet, there is nothing to do until the information is received. In cases like this, the 
potential gains from the asynchronous approach are not realized. Because synchronous 
C# PDF Convert to Jpeg SDK: Convert PDF to JPEG images in C#.net
NET. .NET library to batch convert PDF files to jpg image files. High quality jpeg file can be exported from PDF in .NET framework.
pdf merge documents; combine pdf files
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
fonts fast. Professional .NET PDF converter component for batch conversion. Merge all Excel sheets to one PDF file in VB.NET. Change
.net merge pdf files; c# pdf merge
P
A
R
T
I
I
Chapter 26: Networking Through the Internet Using System.Net  
899
Internet access is both easier to use and more universally applicable, it is the only type 
examined in this chapter.
SinceWebRequest and WebResponse are at the heart of System.Net, they will be 
examined next.
WebRequest
TheWebRequest class manages a network request. It is abstract because it does not 
implement a specific protocol. It does, however, define those methods and properties 
common to all requests. The commonly used methods defined by WebRequest that support 
synchronous communications are shown in Table 26-1. The properties defined by WebRequest
are shown in Table 26-2. The default values for the properties are determined by derived 
classes.WebRequest defines no public constructors.
To send a request to a URI, you must first create an object of a class derived from 
WebRequest that implements the desired protocol. This can be done by calling Create( ),
which is a static method defined by WebRequest.Create( ) returns an object of a class that 
inheritsWebRequest and implements a specific protocol.
Method
Description
public static
WebRequest Create(string requestUriString)
Creates a WebRequest object for the URI specified by the 
string passed by requestUriString. The object returned will 
implement the protocol specified by the prefix of the URI. 
Thus, the object will be an instance of a class that inherits 
WebRequest. A NotSupportedException is thrown if the 
requested protocol is not available. A UriFormatException is 
thrown if the URI format is invalid. 
public static WebRequest Create(Uri requestUri)
Creates a WebRequest object for the URI specified by 
requestUri. The object returned will implement the protocol 
specified by the prefix of the URI. Thus, the object will 
be an instance of a class that inherits WebRequest. A 
NotSupportedException is thrown if the requested 
protocol is not available. 
public virtual Stream GetRequestStream( )
Returns an output stream associated with the previously 
requested URI.
public virtual WebResponse GetResponse( )
Sends the previously created request and waits for a response. 
When a response is received, it is returned as a WebResponse
object. Your program will use this object to obtain information 
from the specified URI. 
T
ABLE
26-1  Commonly Used Methods Defi ned by WebRequest that Support Synchronous Communications
900
Part II: Exploring the C# Library
WebResponse
WebResponse encapsulates a response that is obtained as the result of a request. WebResponse
is an abstract class. Inheriting classes create specific, concrete versions of it that support a 
protocol. A WebResponse object is normally obtained by calling the GetResponse( ) method 
defined by WebRequest. This object will be an instance of a concrete class derived from 
Property
Description
public AuthenticationLevel
AuthenticationLevel( get; set; }
Obtains or sets the authentication level. 
public virtual RequestCachePolicy
CachePolicy { get; set; }
Obtains or sets the cache policy, which controls when a 
response can be obtained from the cache. 
public virtual string
ConnectionGroupName { get; set; }
Obtains or sets the connection group name. Connection 
groups are a way of creating a set of requests. They are not 
needed for simple Internet transactions. 
public virtual long ContentLength { get; set; }
Obtains or sets the length of the content.
public virtual string ContentType { get; set; }
Obtains or sets the description of the content.
public virtual ICredentials
Credentials { get; set; }
Obtains or sets credentials. 
public static RequestCachePolicy
DefaultCachePolicy { get; set; }
Obtains or sets the default cache policy, which controls when 
a request can be obtained from the cache. 
public static IWebProxy
DefaultWebProxy { get; set; }
Obtains or sets the default proxy. 
public virtual WebHeaderCollection
Headers{ get; set; }
Obtains or sets a collection of the headers.
public TokenImpersonationLevel
ImpersonationLevel { get; set; }
Obtains or sets the impersonation level. 
public virtual string Method { get; set; }
Obtains or sets the protocol. 
public virtual bool PreAuthenticate { get; set; }
If true, authentication information is included when the 
request is sent. If false, authentication information is 
provided only when requested by the URI.
public virtual IWebProxy Proxy { get; set; }
Obtains or sets the proxy server. This applies only to 
environments in which a proxy server is used.
public virtual Uri RequestUri { get; }
Obtains the URI of the request.
public virtual int Timeout { get; set; }
Obtains or sets the number of milliseconds that a 
request will wait for a response. To wait forever, use 
Timeout.Infinite.
public virtual bool
UseDefaultCredential { get; set; }
Obtains or sets a value that determines if default credentials 
are used for authentication. If true, the default credentials 
(i.e., those of the user) are used. They are not used if false. 
T
ABLE
26-2  The Properties Defi ned by WebRequest
P
A
R
T
I
I
Chapter 26: Networking Through the Internet Using System.Net  
901
WebResponse that implements a specific protocol. The methods defined by WebResponse
used in this chapter are shown in Table 26-3. The properties defined by WebResponse are 
shown in Table 26-4. The values of these properties are set based on each individual response. 
WebResponse defines no public constructors.
HttpWebRequest and HttpWebResponse
The classes HttpWebRequest and HttpWebResponse inherit the WebRequest and 
WebResponse classes and implement the HTTP protocol. In the process, both add several 
properties that give you detailed information about an HTTP transaction. Some of these 
properties are used later in this chapter. However, for simple Internet operations, you will 
not often need to use these extra capabilities.
A Simple First Example
Internet access centers around WebRequest and WebResponse. Before we examine the 
prequest/response 
approach to Internet access. After you see these classes in action, it is easier to understand 
why they are organized as they are.
Method
Description
public virtual void Close( )
Closes the response. It also closes the response stream returned 
by GetResponseStream( ).
public virtual Stream GetResponseStream( )
Returns an input stream connected to the requested URI. Using 
this stream, data can be read from the URI.
T
ABLE
26-3  Commonly Used Methods Defi ned by WebResponse
Property
Description
public virtual long ContentLength { get; set; }
Obtains or sets the length of the content being received. This 
will be –1 if the content length is not available.
public virtual string ContentType { get; set; }
Obtains or sets a description of the content.
public virtual WebHeaderCollection
Headers { get; }
Obtains a collection of the headers associated with the URI.
public virtual bool IsFromCache { get; }
If the response came from the cache, this property is true. It is 
false if the response was delivered over the network. 
public virtual bool
IsMutuallyAuthenticated { get; }
If the client and server are both authenticated, then this 
property is true. It is false otherwise. 
public virtual Uri ResponseUri { get; }
Obtains the URI that generated the response. This may differ 
from the one requested if the response was redirected to 
another URI.
T
ABLE
26-4  The Properties Defi ned by WebResponse
902
Part II: Exploring the C# Library
The following program performs a simple, yet very common, Internet operation. It 
Hill.com is obtained, but you can substitute any other website. The program displays the 
hypertext on the screen in chunks of 400 characters, so you can see what is being received 
before it scrolls off the screen.
// Access a website.
using System;
using System.Net;
using System.IO;
class NetDemo {
static void Main() {
int ch;
// First, create a WebRequest to a URI.
HttpWebRequest req = (HttpWebRequest)
WebRequest.Create("http://www.McGraw-Hill.com");
// Next, send that request and return the response.
HttpWebResponse resp = (HttpWebResponse)
req.GetResponse();
// From the response, obtain an input stream.
Stream istrm = resp.GetResponseStream();
/* Now, read and display the html present at
the specified URI. So you can see what is
being displayed, the data is shown
400 characters at a time. After each 400
characters are displayed, you must press
ENTER to get the next 400. */
for(int i=1; ; i++) {
ch =  istrm.ReadByte();
if(ch == -1) break;
Console.Write((char) ch);
if((i%400)==0) {
Console.Write("\nPress Enter.");
Console.ReadLine();
}
}
// Close the Response. This also closes istrm.
resp.Close();
}
}
P
A
R
T
I
I
Chapter 26: Networking Through the Internet Using System.Net  
903
The first part of the output is shown here. (Of course, over time this content will differ 
from that shown here.)
<html>
<head>
<title>Home - The McGraw-Hill Companies</title>
<meta name="keywords" content="McGraw-Hill Companies,McGraw-Hill, McGraw Hill,
Aviation Week, BusinessWeek, Standard and Poor’s, Standard & Poor’s,CTB/McGraw-
Hill,Glencoe/McGraw-Hill,The Grow Network/McGraw-Hill,Macmillan/McGraw-Hill,
McGraw-Hill Contemporary,McGraw-Hill Digital Learning,McGraw-Hill Professional
Development,SRA/McGraw
Press Enter.
-Hill,Wright Group/McGraw-Hill,McGraw-Hill Higher Education,McGraw-Hill/Irwin,
McGraw-Hill/Primis Custom Publishing,McGraw-Hill/Ryerson,Tata/McGraw-Hill,
McGraw-Hill Interamericana,Open University Press, Healthcare Information Group,
Platts, McGraw-Hill Construction, Information & Media Services" />
<meta name="description" content="The McGraw-Hill Companies Corporate Website." />
<meta http-equiv
Press Enter.
program simply displays the content character-by-character, it is not formatted as it would 
be by a browser; it is displayed in its raw form.
Let’s examine this program line-by-line. First, notice the System.Net namespace is used. 
Also notice that 
System.IO is included. This namespace is needed because the information from the website 
is read using a Stream object.
The program begins by creating a WebRequest object that contains the desired URI. 
Notice that the Create( ) method, rather than a constructor, is used for this purpose. Create( ) is 
astatic member of WebRequest. Even though WebRequest is an abstract class, it is still 
possible to call a static method of that class. Create( ) returns a WebRequest object that has 
the proper protocol “plugged in,” based on the protocol prefix of the URI. In this case, the 
protocol is HTTP. Thus, Create( ) returns an HttpWebRequest object. Of course, its return 
value must still be cast to HttpWebRequest when it is assigned to the HttpWebRequest
reference called req. At this point, the request has been created, but not yet sent to the 
specified URI.
To send the request, the program calls GetResponse( ) on the WebRequest object. After 
the request has been sent, GetResponse( ) waits for a response. Once a response has been 
received, GetResponse( ) returns a WebResponse object that encapsulates the response. 
This object is assigned to resp. Since, in this case, the response uses the HTTP protocol, the 
result is cast to HttpWebResponse. Among other things, the response contains a stream that 
can be used to read data from the URI.
Next, an input stream is obtained by calling GetResponseStream( ) on resp. This is a 
standard Stream object, having all of the attributes and features of any other input stream. 
A reference to the stream is assigned to istrm. Using istrm, the data at the specified URI can 
be read in the same way that a file is read.
Documents you may be interested
Documents you may be interested