c# winforms pdf viewer control : Acrobat extract pages from pdf application SDK utility azure wpf windows visual studio asp_net_4_and_visual_studio_2010_web_development_overview0-part1192

ASP.NET 4 and Visual Studio 2010 Web Development Overview  
© 2010 Microsoft Corporation 
ASP.NET 4 and Visual Studio 2010 Web 
Development Overview 
This document provides an overview of many of the new features for ASP.NET that are included in 
the.NET Framework 4 and in Visual Studio 2010. 
Contents 
Core Services .....................................................................................................................................3 
Web.config File Refactoring ...................................................................................................................... 3 
Extensible Output Caching ........................................................................................................................ 3 
Auto-Start Web Applications .................................................................................................................... 5 
Permanently Redirecting a Page ............................................................................................................... 7 
Shrinking Session State ............................................................................................................................. 7 
Expanding the Range of Allowable URLs ................................................................................................... 8 
Extensible Request Validation .................................................................................................................. 8 
Object Caching and Object Caching Extensibility ...................................................................................... 9 
Extensible HTML, URL, and HTTP Header Encoding................................................................................ 11 
Performance Monitoring for Individual Applications in a Single Worker Process .................................. 12 
Multi-Targeting ....................................................................................................................................... 12 
Ajax ................................................................................................................................................. 13 
jQuery Included with Web Forms and MVC ........................................................................................... 13 
Content Delivery Network Support......................................................................................................... 14 
ScriptManager Explicit Scripts ................................................................................................................. 15 
Web Forms ...................................................................................................................................... 16 
Setting Meta Tags with the Page.MetaKeywords and Page.MetaDescription Properties ..................... 16 
Enabling View State for Individual Controls ............................................................................................ 17 
Changes to Browser Capabilities ............................................................................................................. 19 
Routing in ASP.NET 4 ............................................................................................................................... 25 
Setting Client IDs ..................................................................................................................................... 29 
Persisting Row Selection in Data Controls .............................................................................................. 33 
ASP.NET Chart Control ............................................................................................................................ 33 
Acrobat extract pages from pdf - application SDK utility:C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Easy to Use C# Code to Extract PDF Pages, Copy Pages from One PDF File and Paste into Others
www.rasteredge.com
Acrobat extract pages from pdf - application SDK utility:VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Detailed VB.NET Guide for Extracting Pages from Microsoft PDF Doc
www.rasteredge.com
ASP.NET 4 and Visual Studio 2010 Web Development Overview  
© 2010 Microsoft Corporation 
Filtering Data with the QueryExtender Control ...................................................................................... 36 
Html Encoded Code Expressions ............................................................................................................. 39 
Project Template Changes ...................................................................................................................... 40 
CSS Improvements .................................................................................................................................. 45 
Hiding div Elements Around Hidden Fields ............................................................................................. 47 
Rendering an Outer Table for Templated Controls ................................................................................ 47 
ListView Control Enhancements ............................................................................................................. 49 
CheckBoxList and RadioButtonList Control Enhancements .................................................................... 49 
Menu Control Improvements ................................................................................................................. 51 
Wizard and CreateUserWizard Controls ................................................................................................. 52 
ASP.NET MVC .................................................................................................................................. 55 
Areas Support.......................................................................................................................................... 55 
Data-Annotation Attribute Validation Support....................................................................................... 55 
Templated Helpers .................................................................................................................................. 55 
Dynamic Data .................................................................................................................................. 55 
Enabling Dynamic Data for Existing Projects .......................................................................................... 56 
Declarative DynamicDataManager Control Syntax ................................................................................. 57 
Entity Templates ..................................................................................................................................... 57 
New Field Templates for URLs and E-mail Addresses ............................................................................. 59 
Creating Links with the DynamicHyperLink Control ............................................................................... 60 
Support for Inheritance in the Data Model ............................................................................................ 60 
Support for Many-to-Many Relationships (Entity Framework Only) ...................................................... 60 
New Attributes to Control Display and Support Enumerations .............................................................. 60 
Enhanced Support for Filters .................................................................................................................. 61 
Visual Studio 2010 Web Development Improvements ....................................................................... 61 
Improved CSS Compatibility .................................................................................................................... 61 
HTML and JavaScript Snippets ................................................................................................................ 62 
JavaScript IntelliSense Enhancements .................................................................................................... 62 
Web Application Deployment with Visual Studio 2010 ...................................................................... 62 
Web Packaging ........................................................................................................................................ 63 
Web.config Transformation .................................................................................................................... 63 
Database Deployment............................................................................................................................. 64 
One-Click Publish for Web Applications .................................................................................................. 64 
application SDK utility:.NET PDF Document Viewing, Annotation, Conversion & Processing
Extract hyperlink inside PDF. PDF Write. Redact text content, images, whole pages from PDF file. Annotate & Comment. Support for all the print modes in Acrobat PDF
www.rasteredge.com
application SDK utility:C# PDF Converter Library SDK to convert PDF to other file formats
manipulate & convert standard PDF documents in .NET class applications independently, without using other external third-party dependencies like Adobe Acrobat.
www.rasteredge.com
ASP.NET 4 and Visual Studio 2010 Web Development Overview  
© 2010 Microsoft Corporation 
Resources ................................................................................................................................................ 64 
Disclaimer ........................................................................................................................................ 66 
Core Services 
ASP.NET 4 introduces a number of features that improve core ASP.NET services such as output caching 
and session-state storage.  
Web.config File Refactoring 
The 
Web.config
file that contains the configuration for a Web application has grown considerably over 
the past few releases of the .NET Framework as new features have been added, such as Ajax, routing, 
and integration with IIS 7. This has made it harder to configure or start new Web applications without a 
tool like Visual Studio. In .the NET Framework 4, the major configuration elements have been moved to 
the 
machine.config
file, and applications now inherit these settings. This allows the 
Web.config
file in 
ASP.NET 4 applications either to be empty or to contain just the following lines, which specify for Visual 
Studio what version of the framework the application is targeting: 
<?xml version="1.0"?> 
<configuration> 
<system.web> 
<compilation targetFramework="4.0" /> 
</system.web> 
</configuration> 
Extensible Output Caching 
Since the time that ASP.NET 1.0 was released, output caching has enabled developers to store the 
generated output of pages, controls, and HTTP responses in memory. On subsequent Web requests, 
ASP.NET can serve content more quickly by retrieving the generated output from memory instead of 
regenerating the output from scratch. However, this approach has a limitation — generated content 
always has to be stored in memory, and on servers that are experiencing heavy traffic, the memory 
consumed by output caching can compete with memory demands from other portions of a Web 
application. 
ASP.NET 4 adds an extensibility point to output caching that enables you to configure one or more 
custom output-cache providers. Output-cache providers can use any storage mechanism to persist 
HTML content. This makes it possible to create custom output-cache providers for diverse persistence 
mechanisms, which can include local or remote disks, cloud storage, and distributed cache engines. 
application SDK utility:C# powerpoint - PowerPoint Conversion & Rendering in C#.NET
documents in .NET class applications independently, without using other external third-party dependencies like Adobe Acrobat. PowerPoint to PDF Conversion.
www.rasteredge.com
application SDK utility:C# Word - Word Conversion in C#.NET
Word documents in .NET class applications independently, without using other external third-party dependencies like Adobe Acrobat. Word to PDF Conversion.
www.rasteredge.com
ASP.NET 4 and Visual Studio 2010 Web Development Overview  
© 2010 Microsoft Corporation 
You create a custom output-cache provider as a class that derives from the new 
System.Web.Caching.OutputCacheProvider type. You can then configure the provider in the 
Web.config
file by using the new providers subsection of the outputCache element, as shown in the following 
example: 
<caching
<outputCache defaultProvider="AspNetInternalProvider"> 
<providers
<add name="DiskCache
type="Test.OutputCacheEx.DiskOutputCacheProvider, DiskCacheProvider"/> 
</providers> 
</outputCache> 
</caching
By default in ASP.NET 4, all HTTP responses, rendered pages, and controls use the in-memory output 
cache, as shown in the previous example, where the defaultProvider attribute is set to 
AspNetInternalProvider
. You can change the default output-cache provider used for a Web 
application by specifying a different provider name for defaultProvider. 
In addition, you can select different output-cache providers per control and per request. The easiest way 
to choose a different output-cache provider for different Web user controls is to do so declaratively by 
using the new providerName attribute in a control directive, as shown in the following example: 
<%@ OutputCache Duration="60" VaryByParam="None" providerName="DiskCache" %> 
Specifying a different output cache provider for an HTTP request requires a little more work. Instead of 
declaratively specifying the provider, you override the new GetOuputCacheProviderName method in the 
Global.asax
file to programmatically specify which provider to use for a specific request. The following 
example shows how to do this. 
public override string GetOutputCacheProviderName(HttpContext context) 
if (context.Request.Path.EndsWith("Advanced.aspx")) 
return "DiskCache"
else 
return base.GetOutputCacheProviderName(context); 
With the addition of output-cache provider extensibility to ASP.NET 4, you can now pursue more 
aggressive and more intelligent output-caching strategies for your Web sites. For example, it is now 
possible to cache the "Top 10" pages of a site in memory, while caching pages that get lower traffic on 
application SDK utility:C# Windows Viewer - Image and Document Conversion & Rendering in
standard image and document in .NET class applications independently, without using other external third-party dependencies like Adobe Acrobat. Convert to PDF.
www.rasteredge.com
application SDK utility:VB.NET PDF: How to Create Watermark on PDF Document within
Watermark Creator, users need no external application plugin, like Adobe Acrobat. VB example code to create graphics watermark on multiple PDF pages within the
www.rasteredge.com
ASP.NET 4 and Visual Studio 2010 Web Development Overview  
© 2010 Microsoft Corporation 
disk. Alternatively, you can cache every vary-by combination for a rendered page, but use a distributed 
cache so that the memory consumption is offloaded from front-end Web servers. 
Auto-Start Web Applications 
Some Web applications need to load large amounts of data or perform expensive initialization 
processing before serving the first request. In earlier versions of ASP.NET, for these situations you had to 
devise custom approaches to "wake up" an ASP.NET application and then run initialization code during 
the Application_Load method in the 
Global.asax
file. 
A new scalability feature named auto-start that directly addresses this scenario is available when 
ASP.NET 4 runs on IIS 7.5 on Windows Server 2008 R2. The auto-start feature provides a controlled 
approach for starting up an application pool, initializing an ASP.NET application, and then accepting 
HTTP requests. 
IIS Application Warm-Up Module for IIS 7.5 
The IIS team has released the first beta test version of the Application Warm-Up Module for IIS 
7.5. This makes warming up your applications even easier than previously described. Instead of 
writing custom code, you specify the URLs of resources to execute before the Web application 
accepts requests from the network. This warm-up occurs during startup of the IIS service (if you 
configured the IIS application pool as AlwaysRunning) and when an IIS worker process recycles. 
During recycle, the old IIS worker process continues to execute requests until the newly 
spawned worker process is fully warmed up, so that applications experience no interruptions or 
other issues due to unprimed caches. Note that this module works with any version of ASP.NET, 
starting with version 2.0. 
For more information, see Application Warm-Up
on the IIS.net Web site. For a walkthrough that 
illustrates how to use the warm-up feature, see Getting Started with the IIS 7.5 Application 
Warm-Up Module
on the IIS.net Web site. 
To use the auto-start feature, an IIS administrator sets an application pool in IIS 7.5 to be automatically 
started by using the following configuration in the 
applicationHost.config
file: 
<applicationPools
<add name="MyApplicationPool" startMode="AlwaysRunning" /> 
</applicationPools
Because a single application pool can contain multiple applications, you specify individual applications to 
be automatically started by using the following configuration in the 
applicationHost.config
file: 
<sites
application SDK utility:C# Excel - Excel Conversion & Rendering in C#.NET
Excel documents in .NET class applications independently, without using other external third-party dependencies like Adobe Acrobat. Excel to PDF Conversion.
www.rasteredge.com
application SDK utility:VB.NET PowerPoint: VB Code to Draw and Create Annotation on PPT
as a kind of compensation for limitations (other documents are compatible, including PDF, TIFF, MS on slide with no more plug-ins needed like Acrobat or Adobe
www.rasteredge.com
ASP.NET 4 and Visual Studio 2010 Web Development Overview  
© 2010 Microsoft Corporation 
<site name="MySite" id="1"
<application path="/
serviceAutoStartEnabled="true
serviceAutoStartProvider="PrewarmMyCache" > 
<!-- Additional content --> 
</application
</site
</sites
<!-- Additional content --> 
<serviceAutoStartProviders
<add name="PrewarmMyCache
type="MyNamespace.CustomInitialization, MyLibrary" /> 
</serviceAutoStartProviders
When an IIS 7.5 server is cold-started or when an individual application pool is recycled, IIS 7.5 uses the 
information in the 
applicationHost.config
file to determine which Web applications need to be 
automatically started. For each application that is marked for auto-start, IIS7.5 sends a request to 
ASP.NET 4 to start the application in a state during which the application temporarily does not accept 
HTTP requests. When it is in this state, ASP.NET instantiates the type defined by the 
serviceAutoStartProvider attribute (as shown in the previous example) and calls into its public entry 
point.  
You create a managed auto-start type with the necessary entry point by implementing the 
IProcessHostPreloadClient interface, as shown in the following example: 
public class CustomInitialization : System.Web.Hosting.IProcessHostPreloadClient 
public void Preload(string[] parameters) 
// Perform initialization. 
After your initialization code runs in the Preload method and the method returns, the ASP.NET 
application is ready to process requests. 
With the addition of auto-start to IIS .5 and ASP.NET 4, you now have a well-defined approach for 
performing expensive application initialization prior to processing the first HTTP request. For example, 
application SDK utility:DICOM to PDF Converter | Convert DICOM to PDF, Convert PDF to
users do not need to load Adobe Acrobat or any Convert all pages or certain pages chosen by users; download & perpetual update. Start Image DICOM PDF Converting.
www.rasteredge.com
application SDK utility:BMP to PDF Converter | Convert Bitmap to PDF, Convert PDF to BMP
for Adobe Acrobat Reader & print driver during conversion; Support conversion of Bitmap - PDF files in both single & batch mode; Convert all pages or certain
www.rasteredge.com
ASP.NET 4 and Visual Studio 2010 Web Development Overview  
© 2010 Microsoft Corporation 
you can use the new auto-start feature to initialize an application and then signal a load-balancer that 
the application was initialized and ready to accept HTTP traffic. 
Permanently Redirecting a Page 
It is common practice in Web applications to move pages and other content around over time, which 
can lead to an accumulation of stale links in search engines. In ASP.NET, developers have traditionally 
handled requests to old URLs by using by using the Response.Redirect method to forward a request to 
the new URL. However, the Redirect method issues an HTTP 302 Found (temporary redirect) response, 
which results in an extra HTTP round trip when users attempt to access the old URLs. 
ASP.NET 4 adds a new RedirectPermanent helper method that makes it easy to issue HTTP 301 Moved 
Permanently responses, as in the following example: 
RedirectPermanent("/newpath/foroldcontent.aspx"); 
Search engines and other user agents that recognize permanent redirects will store the new URL that is 
associated with the content, which eliminates the unnecessary round trip made by the browser for 
temporary redirects. 
Shrinking Session State 
ASP.NET provides two default options for storing session state across a Web farm:  a session-state 
provider that invokes an out-of-process session-state server, and a session-state provider that stores 
data in a Microsoft SQL Server database. Because both options involve storing state information outside 
a Web application's worker process, session state has to be serialized before it is sent to remote storage. 
Depending on how much information a developer saves in session state, the size of the serialized data 
can grow quite large. 
ASP.NET 4 introduces a new compression option for both kinds of out-of-process session-state 
providers. When the compressionEnabled configuration option shown in the following example is set to 
true, ASP.NET will compress (and decompress) serialized session state by using the .NET Framework 
System.IO.Compression.GZipStream class. 
<sessionState 
mode="SqlServer
sqlConnectionString="data source=dbserver;Initial Catalog=aspnetstate
allowCustomSqlDatabase="true
compressionEnabled="true
/> 
ASP.NET 4 and Visual Studio 2010 Web Development Overview  
© 2010 Microsoft Corporation 
With the simple addition of the new attribute to the 
Web.config
file, applications with spare CPU cycles 
on Web servers can realize substantial reductions in the size of serialized session-state data. 
Expanding the Range of Allowable URLs 
ASP.NET 4 introduces new options for expanding the size of application URLs. Previous versions of 
ASP.NET constrained URL path lengths to 260 characters, based on the NTFS file-path limit. In ASP.NET 4, 
you have the option to increase (or decrease) this limit as appropriate for your applications, using two 
new httpRuntime configuration attributes. The following example shows these new attributes. 
<httpRuntime maxRequestPathLength="260" maxQueryStringLength="2048" /> 
To allow longer or shorter paths (the portion of the URL that does not include protocol, server name, 
and query string), modify the maxRequestPathLength attribute. To allow longer or shorter query strings, 
modify the value of the maxQueryStringLength attribute. 
ASP.NET 4 also enables you to configure the characters that are used by the URL character check. When 
ASP.NET finds an invalid character in the path portion of a URL, it rejects the request and issues an HTTP 
400 error. In previous versions of ASP.NET, the URL character checks were limited to a fixed set of 
characters. In ASP.NET 4, you can customize the set of valid characters using the new 
requestPathInvalidChars attribute of the httpRuntime configuration element, as shown in the following 
example: 
<httpRuntime requestPathInvalidChars="&lt;,&gt;,*,%,&amp;,:,\,?"  /> 
By default, the requestPathInvalidChars attribute defines eight characters as invalid. (In the string that is 
assigned to requestPathInvalidChars by default, the less than (<), greater than (>), and ampersand (&) 
characters are encoded, because the 
Web.config
file is an XML file.)  You can customize the set of 
invalid characters as needed.  
Note   ASP.NET 4 always rejects URL paths that contain characters in the ASCII range of 0x00 to 0x1F, 
because those are invalid URL characters as defined in RFC 2396 of the IETF 
(http://www.ietf.org/rfc/rfc2396.txt
). On versions of Windows Server that run IIS 6 or higher, the 
http.sys protocol device driver automatically rejects URLs with these characters. 
Extensible Request Validation 
ASP.NET request validation searches incoming HTTP request data for strings that are commonly used in 
cross-site scripting (XSS) attacks. If potential XSS strings are found, request validation flags the suspect 
string and returns an error. The built-in request validation returns an error only when it finds the most 
common strings used in XSS attacks. Previous attempts to make the XSS validation more aggressive 
ASP.NET 4 and Visual Studio 2010 Web Development Overview  
© 2010 Microsoft Corporation 
resulted in too many false positives. However, customers might want request validation that is more 
aggressive, or conversely might want to intentionally relax XSS checks for specific pages or for specific 
types of requests. 
In ASP.NET 4, the request validation feature has been made extensible so that you can use custom 
request-validation logic. To extend request validation, you create a class that derives from the new 
System.Web.Util.RequestValidator type, and you configure the application (in the httpRuntime section 
of the 
Web.config
file) to use the custom type. The following example shows how to configure a custom 
request-validation class: 
<httpRuntime requestValidationType="Samples.MyValidator, Samples" /> 
The new requestValidationType attribute requires a standard .NET Framework type identifier string that 
specifies the class that provides custom request validation. For each request, ASP.NET invokes the 
custom type to process each piece of incoming HTTP request data. The incoming URL, all the HTTP 
headers (both cookies and custom headers), and the entity body are all available for inspection by a 
custom request validation class like that shown in the following example: 
public class CustomRequestValidation : RequestValidator 
protected override bool IsValidRequestString( 
HttpContext context, string value,  
RequestValidationSource requestValidationSource,  
string collectionKey,  
out int validationFailureIndex) 
{...} 
For cases where you do not want to inspect a piece of incoming HTTP data, the request-validation class 
can fall back to let the ASP.NET default request validation run by simply calling 
base.IsValidRequestString. 
Object Caching and Object Caching Extensibility 
Since its first release, ASP.NET has included a powerful in-memory object cache 
(System.Web.Caching.Cache). The cache implementation has been so popular that it has been used in 
non-Web applications. However, it is awkward for a Windows Forms or WPF application to include a 
reference to 
System.Web.dll
just to be able to use the ASP.NET object cache.  
To make caching available for all applications, the .NET Framework 4 introduces a new assembly, a new 
namespace, some base types, and a concrete caching implementation. The new 
ASP.NET 4 and Visual Studio 2010 Web Development Overview  
10 
© 2010 Microsoft Corporation 
System.Runtime.Caching.dll
assembly contains a new caching API in the System.Runtime.Caching 
namespace. The namespace contains two core sets of classes: 
Abstract types that provide the foundation for building any type of custom cache implementation. 
A concrete in-memory object cache implementation (the System.Runtime.Caching.MemoryCache 
class). 
The new MemoryCache class is modeled closely on the ASP.NET cache, and it shares much of the 
internal cache engine logic with ASP.NET. Although the public caching APIs in System.Runtime.Caching 
have been updated to support development of custom caches, if you have used the ASP.NET Cache 
object, you will find familiar concepts in the new APIs.  
An in-depth discussion of the new MemoryCache class and supporting base APIs would require an entire 
document. However, the following example gives you an idea of how the new cache API works. The 
example was written for a Windows Forms application, without any dependency on 
System.Web.dll
private void btnGet_Click(object sender, EventArgs e) 
//Obtain a reference to the default MemoryCache instance. 
//Note that you can create multiple MemoryCache(s) inside 
//of a single application. 
ObjectCache cache = MemoryCache.Default; 
//In this example the cache is storing the contents of a file 
string fileContents = cache["filecontents"as string
//If the file contents are not currently in the cache, then 
//the contents are read from disk and placed in the cache. 
if (fileContents == null
//A CacheItemPolicy object holds all the pieces of cache 
//dependency and cache expiration metadata related to a single 
//cache entry. 
CacheItemPolicy policy = new CacheItemPolicy(); 
//Build up the information necessary to create a file dependency. 
//In this case we just need the file path of the file on disk. 
List<string> filePaths = new List<string>(); 
filePaths.Add("c:\\data.txt"); 
//In the new cache API, dependencies are called "change monitors". 
Documents you may be interested
Documents you may be interested