Developer Productivity
Developer Productivity
ASP.NET is a programming framework built on the common language runtime that can be used on a
server to build powerful Web applications. The first version of ASP.NET offered several important
advantages over previous Web development models. ASP.NET 2.0 improves upon that foundation by
adding support for several new and exciting features in the areas of developer productivity,
administration and management, extensibility, and performance:
Developer Productivity
ASP.NET 2.0 encapsulates common Web tasks into application services and controls that can be
easily reused across web sites. With these basic building blocks, many scenarios can now be
implemented with far less custom code than was required in previous versions. With ASP.NET 2.0 it
is possible to significantly reduce the amount of code and concepts necessary to build common
scenarios on the web.
New Server Controls. ASP.NET 2.0 introduces many new server controls that enable
powerful declarative support for data access, login security, wizard navigation, menus,
treeviews, portals, and more. Many of these controls take advantage of core application
services in ASP.NET for scenarios like data access, membership and roles, and
personalization. Some of the new families of controls in ASP.NET 2.0 are described below.
Data Controls. Data access in ASP.NET 2.0 can be accomplished completely
declaratively (no code) using the new data-bound and data source controls. There
are new data source controls to represent different data backends such as SQL
database, business objects, and XML, and there are new data-bound controls for
rendering common UI for data, such as gridview, detailsview, and formview..
Navigation Controls. The navigation controls provide common UI for navigating
between pages in your site, such as treeview, menu, and sitemappath. These
controls use the site navigation service in ASP.NET 2.0 to retrieve the custom
structure you have defined for your site.
Login Controls. The new login controls provide the building blocks to add
authentication and authorization-based UI to your site, such as login forms, create
user forms, password retrieval, and custom UI for logged in users or roles. These
controls use the built-in membership and role services in ASP.NET 2.0 to interact
with the user and role information defined for your site.
Web Part Controls. Web parts are an exciting new family of controls that enable
you to add rich, personalized content and layout to your site, as well as the ability
to edit that content and layout directly from your application pages. These controls
rely on the personalization services in ASP.NET 2.0 to provide a unique experience
for each user in your application.
Master Pages. This feature provides the ability to define common structure and interface
elements for your site, such as a page header, footer, or navigation bar, in a common
location called a "master page", to be shared by many pages in your site. In one simple
place you can control the look, feel, and much of functionality for an entire Web site. This
improves the maintainability of your site and avoids unnecessary duplication of code for
shared site structure or behavior.
Themes and Skins. The themes and skins features in ASP.NET 2.0 allow for easy
customization of your site's look-and-feel. You can define style information in a common
location called a "theme", and apply that style information globally to pages or controls in
your site. Like Master Pages, this improves the maintainability of your site and avoid
unnecessary duplication of code for shared styles.
Personalization. Using the new personalization services in ASP.NET 2.0 you can easily
create customized experiences within Web applications. The Profile object enables
developers to easily build strongly-typed, sticky data stores for user accounts and build
highly customized, relationship based experiences. At the same time, a developer can
leverage Web Parts and the personalization service to enable Web site visitors to completely
control the layout and behavior of the site, with the knowledge that the site is completely
customized for them. Personalizaton scenarios are now easier to build than ever before and
require significantly less code and effort to implement.
Localization. Enabling globalization and localization in Web sites today is difficult, requiring
large amounts of custom code and resources. ASP.NET 2.0 and Visual Studio 2005 provide
tools and infrastructure to easily build Localizable sites including the ability to auto-detect
incoming locale's and display the appropriate locale based UI. Visual Studio 2005 includes
built-in tools to dynamically generate resource files and localization references. Together,
building localized applications becomes a simple and integrated part of the development
experience.
Configuration API. ASP.NET 2.0 contains new configuration management APIs, enabling
users to programmatically build programs or scripts that create, read, and update
Web.config and machine.config configuration files.
ASP.NET MMC Admin Tool. ASP.NET 2.0 provides a new comprehensive admin tool that
plugs into the existing IIS Administration MMC, enabling an administrator to graphically
read or change common settings within our XML configuration files.
Pre-compilation Tool. ASP.NET 2.0 delivers a new application deployment utility that
enables both developers and administrators to precompile a dynamic ASP.NET application
prior to deployment. This precompilation automatically identifies any compilation issues
anywhere within the site, as well as enables ASP.NET applications to be deployed without
any source being stored on the server (one can optionally remove the content of .aspx files
as part of the compile phase), further protecting your intellectual property.
Health Monitoring and Tracing. ASP.NET 2.0 also provides new health-monitoring
support to enable administrators to be automatically notified when an application on a
server starts to experience problems. New tracing features will enable administrators to
capture run-time and request data from a production server to better diagnose issues.
ASP.NET 2.0 is delivering features that will enable developers and administrators to simplify
the day-to-day management and maintenance of their Web applications.
Flexible Extensibility
ASP.NET 2.0 is a well-factored and open system, where any component can be easily replaced with
a custom implementation. Whether it is server controls, page handlers, compilation, or core
application services, you'll find that all are easily customizable and replaceable to tailor to your
needs. Developers can plug in custom code anywhere in the page lifecycle to further customize
ASP.NET 2.0 to their needs.
Provider-driven Application Services. ASP.NET 2.0 now includes built-in support for
membership (user name/password credential storage) and role management services out of
the box. The new personalization service enables quick storage/retrieval of user settings
and preferences, facilitating rich customization with minimal code. The new site navigation
system enables developers to quickly build link structures consistently across a site. As all
of these services are provider-driven, they can be easily swapped out and replaced with
your own custom implementation. With this extensibility option, you have complete control
over the data store and schema that drives these rich application services.
Server Control Extensibility. ASP.NET 2.0 includes improved support for control
extensibility, such as more base classes that encapsulate common behaviors, improved
designer support, more APIs for interacting with client-side script, metadata-driven support
for new features like themes and accessibility verification, better state management, and
more.
Data Source Controls. Data access in ASP.NET 2.0 is now performed declaratively using
data source controls on a page. In this model, support for new data backend storage
providers can be easily added by implementing custom data source controls. Additionally,
the SqlDataSource control that ships in the box has built-in support for any ADO.NET
managed provider that implements the new provider factory model in ADO.NET.
Compilation Build Providers. Dynamic compilation in ASP.NET 2.0 is now handled by
extensible compilation build providers, which associate a particular file extension with a
handler that knows how to compile that extension dynamically at runtime. For example,
.resx files can be dynamically compiled to resources, .wsdl files to web service proxies,
and .xsd files to typed DataSet objects. In addition to the built-in support, it is easy to add
support for additional extensions by implementing a custom build provider and registering it
in Web.config.
Expression Builders. ASP.NET 2.0 introduces a declarative new syntax for referencing
code to substitute values into the page, called Expression Builders. ASP.NET 2.0 includes
expression builders for referencing string resources for localization, connection strings,
application settings, and profile values. You can also write your own expression builders to
create your own custom syntax to substitute values in a page rendering.
64-Bit Support. ASP.NET 2.0 is now 64-bit enabled, meaning it can take advantage of the
full memory address space of new 64-bit processors and servers. Developers can simply
copy existing 32-bit ASP.NET applications onto a 64-bit ASP.NET 2.0 server and have them
automatically be JIT compiled and executed as native 64-bit applications (no source code
changes or manual re-compile are required).
Caching Improvements. ASP.NET 2.0 also now includes automatic database server cache
invalidation. This powerful and easy-to-use feature allows developers to aggressively output
cache database-driven page and partial page content within a site and have ASP.NET
automatically invalidate these cache entries and refresh the content whenever the back-end
database changes. Developers can now safely cache time-critical content for long periods
without worrying about serving visitors stale data.
The remainder of the QuickStart presents practical examples of these and other features in ASP.NET.
Intellisense Everywhere
Intellisense -- the popup code hints which appear while you type -- has a dramatic impact on your
productivity as a developer. While support for Intellisense in Visual Studio .NET 2003 is excellent
today, support for Intellisense in Visual Web Developer gets even better.
In Visual Web Developer, Intellisense pops up everywhere. For example, you can take full advantage
of Intellisense within the script blocks in single file ASP.NET pages. In addition, Visual Web
Developer also supports Intellisense for ASP.NET Page Directives and for inline CSS style attributes
within a page.
Visual Web Developer also provides Intellisense for all sections within a Web.Config configuration
file, as well as any generic XML file that contains a DTD or XML Schema reference.
developers to easily apply HTML formatting rules to existing markup source (to handle those cases
when you need to update existing HTML source with new formatting rules).
Tag Navigator
The HTML source editor within Visual Web Developer ships with a new Tag Navigator feature
that enables developers to easily track their location and navigate within a complicated HTML
document. The Tag Navigator displays the current "path" within the source of an HTML page by
displaying a list of all the HTML tags which contain the tag where your cursor is currently located.
Clicking on any of the nodes enables developers to optionally change the source level selection, and
quickly move up and down a deep HTML hierarchy.
Imagine, for example, that you are editing the source of an HTML page with multiple nested HTML
tables. Editing nested tables can be challenging since it is easy to get lost within the jumble of
nested table rows and cells. However, by taking advantage of the Tag Navigator, you can avoid
getting lost since the Tag Navigator continuously displays your current path within the hierarchy of
table elements.
Tag Outlining
Tag Outlining enables you to work more effectively with large HTML documents. With Tag Outlining,
you can right-click any HTML tag in the source editor and select Collapse Tag to hide the entire
contents of the tag. Collapsing different regions of the HTML source code contained in a page makes
it easier to focus on the particular region of the page which you need to edit.
Code Refactoring
Code Refactoring enables you to easily and systematically make changes to your code. Code
Refactoring is supported everywhere that you can write code including both code-behind and singlefile ASP.NET pages. For example, you can use Code Refactoring to automatically promote a public
field to a full property.
Intellitask
Intellitask is like a super smart clipboard designed for working with code. Intellitask improves your
productivity by enabling you to easily apply standard code snippets anywhere within the source
editor. Simply by right-clicking, you can inject common code into your pages. Visual Web Developer
will ship with more than 200 web specific Intellitask code snippets out of the box. Better yet, you
can add your own code templates to Intellitask so that you can quickly modify your code in the
future.
Smart Tasks
Visual Web Developer enables you to perform many of the most common programming tasks
directly from the designer surface. By taking advantage of Smart Tasks, You can create an entire,
feature rich, database-driven Web application without writing a single line of code.
When you drag new controls onto the designer surface, a popup list of common tasks automatically
appears. You can use the common tasks list to quickly configure a control's properties, as well as
walk through common operations you might perform with it. For example, when you add a GridView
control to a page, a common task list appears which enables you to quickly enable sorting, paging,
or editing for the GridView. When you add a TextBox control to a page, a common task list appears
which enables you to quickly associate a validation control with the control.
Front Page Server Extensions installed on your computer. You can simply point at a folder and start
building Web pages.
FTP Support
Visual Web Developer now has built-in support for editing and updating remote web projects using
the standard File Transfer Protocol (FTP). You can quickly connect to a remote Web site using FTP
within the New Web Site and Open Web Site dialog box.
optionally be removed). In addition, you can choose to obfuscate the resulting code as part of the
pre-compilation process for greater intellectual property protection.
The pre-compilation feature enables developers to easily build and re-sell ASP.NET web applications
without having to ship their source. It can also improve the site's performance and startup time on
a production server.
an easy to use interface for changing connection strings on servers. In addition, the tool can be
used to encrypt connection strings on production servers.
Accessibility Checker
Creating accessible Web pages -- Web pages which can be used by persons with disabilities -- is a
requirement for many government agencies and large corporations. Visual Web Developer now
enables you to easily validate and enforce accessibility standards.
You can use the integrated Visual Web Developer Accessibility Checker (available in Visual Studio
Standard Edition and above only) to quickly identify accessibility problems in your application. The
Accessibility Checker validates your ASP.NET pages against both the Section 508 and W3C Web
Content Accessibility Guidelines (WCAG) standards, and will automatically output warnings and
errors to the IDE Task List.
Summary
Visual Web Developer is the best development tool for building dynamic, data driven web
applications with ASP.NET 2.0. As detailed above, and demonstrated in the Quickstarts, it provides it
provides major enhancements for the Web application developer. With Visual Web Developer and the
ASP.NET enhancements you will be able to build feature rich, database-driven Web applications
faster and easier than ever before.
Answer1:
The Debug. Write call won't be compiled when the DEBUG symbol is not defined (when
doing a release build). Trace. Write calls will be compiled. Debug. Write is for
information you want only in debug builds' Trace. Write is for when you want it in
release build as well. And in any case' you should use something like log4net because
that is both faster and better
Answer2:
Debug. Write & Trace. write - both works in Debug mode' while in Release
Mode'Trace.write only will work .Try changing the Active Config property of Solution in
Property page nd find the difference. Debug.write is used while debugging a project and
Trace.write is used in Released version of Applications.
Server side scripting means that all the script will be executed by the server and
interpreted as needed. ASP doesn't have some of the functionality like sockets' uploading'
etc. For these you have to make a custom components usually in VB or VC++. Client
side scripting means that the script will be executed immediately in the browser such as
form field validation' clock' email validation' etc. Client side scripting is usually done in
VBScript or JavaScript. Download time' browser compatibility' and visible code - since
JavaScript and VBScript code is included in the HTML page' then anyone can see the
code by viewing the page source. Also a possible security hazards for the client computer.