Siraj ’s heaven.

Imagination is more important than knowledge. -Albert Einstein

Archive for the ‘.Net Framework’ Category

5 Best Software Development Tools

Posted by sirajq on October 5, 2008

.Net Reflector:

 

Comparing the different versions of the  same application .Net dlls is not less than a nightmare. Sometimes we need to compare the different versions of the .Net dlls to fix the  problem in the production environment. Also, we need to see the content of the .Net dll as well. Suppose if you have realized  that some old .Net dlls in production environment have been changed unknowingly and causing the problem  and you don’t have source code( .cs files) for production environment because dll in your development environment is different and then you are stuck up. Now you would like to know  what code have been changed in new dlls which is causing the problem.

 

Fortunately, we have Reflector tool for .Net by Lutz Roeder. It is excellent and easy to use tool. Reflector is the class browser, explorer, analyzer and documentation viewer allows to easily view, navigate, search, decompile and analyze .NET assemblies in C#, Visual Basic and IL dissembler. Best part of  Reflector is its ability to  save functions and methods stored in the assembly. It helps you to compare the actual source code between 2 different .Net dlls and help you to pinpoint the actual problem.

 

HttpWatch:

Imagine you are doing regression testing on your web site and there is some problem occur on your website. But your problem is you don’t know which page is causing the problem. We have Httpwatch tool to help us to monitor the activity of all the pages of the web site. It show you list of all the pages in the order of their processing.  It help you to determine easily what page request has been failed, It also  tell you the name of the page causing the problem with error code. It will help to fix the problem in integration testing where you have no idea about order of processing of the web pages.

 

HttpWatch is an HTTP viewer and debugger that integrates  with Internet Explorer to provide seamless HTTP and HTTPS   monitoring without leaving the browser window. Please note that advance version of this tool is not free.

http://www.httpwatch.com/download/

 

Araxis Merge:

Araxis Merge  is an excellent tool for visual file comparison (diff), merging and folder synchronization application from Araxis. Use it to compare and merge source code, web pages and other text files with native application performance. Compare images and binary files. Synchronize folders. Perform code reviews and audits. Work with source hierarchies containing thousands of files.

http://www.araxis.com/merge/index.html.

 

Irfan View:

 

Sometime we have lable in images file, if you need to change the label, it means you need to change the label in the image file which could be .jpg, gif etc. You can windows paint application to do that. But it is not very efficient and changes the color of the images.

We have Irfan View application to resolve that issue. IrfanView is a small, compact, very fast graphic viewer. It supports several types of  files formats like gif, jpg, tif etc. It allow you to edit the picture easily without losing the actual color of the picture. It has many other features like support multiple languages, has thumbnail preview option.

 

You can download and look at IrfanView at the following link:     http://www.irfanview.com/

 

Squirrel:

 

If you are oracle developer, you must be familiar with Toad and Sql Developer application. But if you are .Net Developer and working on As400/DB2 database as back end. You need special application to see database schema, database objects and contents, executing test sql statement using As400 navigation series or Squirel. Squirrel is an  open source application called Squirrel SQL Client that provides an easy-to-use interface to DB2 UDB as well as a number of other vendor databases like Oracle and SQL Server etc. It will allow you to view the structure of a JDBC compliant database, browse the data in tables, issue SQL commands etc,  If your job requires you to interface with many different databases in the course of a day, this may be the tool for you.

 

You can learn more about it at

 

http://squirrel-sql.sourceforge.net/kulvir/tutorial.html

 

You can download it from:

http://squirrel-sql.sourceforge.net/

I have personally used all of the above tools for my projects. I am sure those tools will be very handy if you need them for fixing different problems.

Posted in .Net Framework | Tagged: , , , , | 1 Comment »

.Net Framework 3.0

Posted by sirajq on March 24, 2008

When I started learning and working on MS Visual Basic 3.0 ,  I had never thought that MS programming language/model  would come a long way and would give its competitor a run for their money.  .Net is the most successful development platform now. MS always put their best efforts in improve .Net development platform. .Net 2.0 has a lot of features to make coding and testing easy and help you to design and develop robust, flexible, extensible, configurable and secured application with ease.  

Now we have Microsoft .Net Framework 3.0  that is the new managed code programming model. It combines the power of .Net Framework version 2.0 with new technologies for building applications that have visually compelling user experiences, seamless communication across technology boundaries,  and the ability to support wide range of business processes. In this new version of .Net 3.0 framework, Microsoft has not changed the CLR (Common Language Runtime) but it introduces four new technologies on the top of .net 2.0. Good news is that MS have not modified .net 2.0 base model. No, .Net Framework 2.0 I is not going anywhere. We don’t have to do modify or make changed in .net 2.0 based existing applications. Also, since .net 3.0 framework run on top of .net framework 2.0. While installing .Net framework first it look for .net 2.0, if it could not find it then it install on target machine. 

The four technologies which have been added to .Net Framework are as follows: 

  • Window Presentation Foundation ( WPF)
  • Windows Communication Foundation ( WCF)
  • Windows Workflows Foundation ( WWF)
  • Windows Cardspace Foundation (WCF)

Dotnet Framework 3.0 

Windows Presentation Foundation or WPF is a new method for controlling the visual representation of information on the screen. WPF is  the answer of Microsoft to Adobe Flash.  It is the framework that presents 3D advanced graphics to provide a consistent platform for user interfaces. It help you develop rich media solution which will incorporate video, audio, 2D ,3D, rich data visualization among others to enhance your experience with solution. Furthermore, it uses the Extensible Application Markup Language (XAML), an XML-based platform-independent language that enables you to define your user interface declaratively. 

Windows Communication Foundation is a service-oriented messaging system that offers you reliable, transacted services. It is a unified method of enabling solutions to accurately communicate with each other. The Windows Communication Foundation supports interoperable communications using the SOAP protocol and offers reliability, security, and transactional support for such communications. 

Windows Workflow Foundation is used  for automating tasks using workflows; in essence, defining your business processes. It can also be  used to track movement of data.It is a framework you can use for managing the way in which work/data flows between applications and people. WFMC states that workflow is the “automation of a business process, in whole or part, during which documents, information, or tasks are passed from one participant to another for action, according to a set of procedural rules.

Windows Card Space is a software component that securely stores a person’s digital identities and provides a unified interface for choosing the identity for a particular transaction, such as logging in to a Web site.  It is a new standard defined for approach to security. WCS is an ambitious plan by Microsoft, supported by many leading security advisory boards to solve the inherent insecure problem of user ID and passwords. Internet Explorer 7 comes with WCS installed to help you control access to WCS enabled applications and web sites. 

The Microsoft .NET Framework Community says, “Use the .NET Framework 3.0 today to build applications that have visually compelling user experiences, seamless communication across technology boundaries, the ability to support a wide range of business processes, and an easier way to manage your personal information online.”  

Posted in .Net Framework | Leave a Comment »

What is new in .Net 2.0

Posted by sirajq on March 24, 2008

The Microsoft .NET Framework version 2.0 includes significant enhancements to ASP.NET in virtually all areas. ASP.NET has been improved to provide out-of-the-box support for the most common Web application situations. You will find that you can get Web sites and pages up and running more easily and with less code than ever before. At the same time, you can add custom features to ASP.NET to accommodate your own requirements.
Specific areas in which ASP.NET has been improved are:

  • Productivity: You can easily and quickly create ASP.NET Web pages and applications using new ASP.NET server controls and existing controls with new features. New areas such as membership, personalization, and themes provide system-level functionality that would normally require extensive developer coding. Core development scenarios, particularly data, have been addressed by new data controls, no-code binding, and smart data-display controls.
  • Flexibility and extensibility: The enhanced ASP.NET architecture supports a broader range of Web applications. For example, all controls now feature integrated support for browsers and devices so that they support the type of functionality previously available in the MMIT. Many ASP.NET features are also extensible so that you can easily incorporate custom features into applications. The ASP.NET provider model, for example, provides pluggable support for different data sources.
  • Performance: Features such as precompilation, configurable caching and SQL cache invalidation allow you to optimize the performance of your Web applications.
  • Security: It is now easier than ever to add authentication and authorization to your Web applications.
  • Hosting: ASP.NET includes new features that make it easier to manage a hosting environment and create more opportunities for hosters to add value.
  • Completeness: New and existing features work in concert to allow you to create end-to-end scenarios that address real-world Web development challenges.

Web Site Management
Web site configuration is improved to include many more settings. You can easily manage application settings using the Web Administration Tool, which provides a wizard-like interface for setting up and maintaining your applications. The Web Administration Tool is particularly useful for managing remote sites (for examples, sites hosted by an ASP.NET-compatible ISP).
If you host sites for others, you can use a new ASP.NET Microsoft Management Console (MMC) plug-in or an administrative API to manage sites and monitor their health. You can add value to your hosting site by offering controls or services that you can selectively enable or disable.
New Administration Features and Tools:
ASP.NET includes features to make Web site management easier for both Web site developers and for administrators. Configuration files include a richer set of elements that give site developers control over new features and finer control over existing ones. A new configuration API makes it possible to control configuration programmatically. New tools provide a GUI interface for configuring applications — the new Web Site Administration Tool makes it easy for Web site developers to manage their own sites using a Web-based interface (both locally and remotely), and an ASP.NET-specific MMC snap-in allows site administrators to manage complex configuration scenarios using a standard Windows server-based tool.
Reserved Folders for Special Functionality:
Web sites can include a Code folder into which site developers can put source code that is then compiled automatically as part of the Web site, making it unnecessary to compile components or controls before using them in a site. A Data folder is reserved for databases (for example, Microsoft Access .mdb files) and is preconfigured with appropriate permissions for the run-time user account. A Resources folder contains XML-based files containing strings and other resources for localization, which are dynamically compiled into .resx files at runtime. For details, see Shared Code Folders in Web Sites.
Precompiling Web Sites for Error Checking and Deployment:
You can now precompile your Web site, which allows you to enhance performance by avoiding the overhead of dynamic compilation and allows you to catch compile-time errors. You can also precompile a site for deployment, producing a version of the site that you can easily copy to or install on a production server. Precompiling for deployment strips source code, which helps you protect your intellectual property. For details, see Understanding Site Precompilation.
Navigation:
You can add site navigation to your Web sites by defining a site map (typically an XML file). You can then use new navigation controls such as the TreeView and SiteMapPath controls that can automatically create a menu or tree view of pages, or that can display a navigation path (also known as a breadcrumb) showing the current page hierarchy. For details, see Understanding ASP.NET Site Navigation.
Site Statistics:
A new site statistics feature allows you to automatically track page visits and control clicks. ASP.NET automatically tracks and stores site counter information, which you access programmatically or by using a reporting feature in the Web Site Administration Tool.


Page Design
New features of ASP.NET help you easily create pages that are more consistent and can offer a richer experience to users.
Consistent Layout using Master Pages:
You can use master pages to create a consistent page layout for your Web site or for a group of related pages. On the master page, you define a common look; you can then create individual content pages that provide the dynamic content that is displayed using the master page as a template. For details, see Understanding ASP.NET Master Pages.
Themes for Consistent Appearance:
Themes allow you to create a consistent look for your site. A theme contains a collection of control skins that define property settings (such as background color and font), CSS style settings, and images to specify the appearance of a control. You can apply themes that ship with ASP.NET or create and use our own custom themes. For details, see Understanding ASP.NET Themes.
Adaptive Rendering for Browser-Specific Output:
To support a wide variety of browsers, including those on mobile devices, pages and controls can use adaptive rendering, or device-specific rendering classes, to automatically render the appropriate markup to the requesting browser. This eliminates the need to have special versions of controls for different devices. Because the adaptive rendering model is extensible, new rendering classes can be added as new browsers become available.
New Code-Behind Model for Pages:
ASP.NET continues to support the single-file model from the previous version of ASP.NET and now includes a new code-behind model. The new model allows you to use a new .NET Framework feature, partial classes, to create a code file with just the code in it that you need, such as event handlers. The end result is a clean separation of the markup from the code in a page, and a robust model for managing a page’s code.
User-Customizable Web Pages:
With Web parts, you can create modularized Web pages that users can customize extensively. A Web part incorporates a discrete piece of functionality, such as a weather report, a stock ticker, or a window for reading news. ASP.NET allows you to create your own Web parts. You can then create Web pages that include a selection of Web parts. Using the Web parts architecture, you can allow users to customize individual Web parts (for example, by typing in a ZIP code to display local information) and change the layout of Web parts. You can also allow users to add and remove Web parts, thereby giving users the ultimate flexibility in using your site. For details, see Customizing Web Pages with Web Parts.
User-Specific Values:
You can provide users with a custom experience in your Web site by defining and using profile properties, which you can use to track user information (address, city), preferences (color scheme, list of stocks to follow), or any custom information required by your application (shopping cart). Once you have defined profile properties, ASP.NET automatically associates individual instances of the profile properties with each user, and you can use code to set or get the values. ASP.NET persists property values in a data store (which you can configure), and the next time a user visits your site, ASP.NET automatically retrieves the profile property value for that user. For details, see Understanding ASP.NET Profile Properties.
New Caching Features:
Enhancements to caching help you increase the performance of your site and manage the cache more precisely. You can manage caching at the Web site level using Web.config settings, rather than managing it at the page level. You can now invalidate cache contents programmatically. If you are using SQL Server 7.0 or later, you can set up a cache dependency based on a SQL Server database table so that when the table changes, the cache entry dependent on it is made invalid.
Enhanced Client-Side Functionality:
ASP.NET pages make it easier to add client-side functionality to pages to enhance the run-time experience for users. You can more easily bind client-side event handlers to controls and add better support for accelerator keys. For multipage forms, you can use the new Wizard control, or you can take advantage of the new cross-page-posting facility in Web pages.
Controls
ASP.NET features many improvements to Web server controls, including both enhancements to existing controls and a selection of new controls.
General Control Improvements:
A major area of enhancement in ASP.NET 2.0 is in the controls you use to create ASP.NET Web pages. General improvements to controls include:

  • By default, controls now generate markup that is compatible with the XHMTL 1.1. standard.
  • All controls support adaptive rendering, and can emit markup that is appropriate for the requesting browser.
  • All data controls can use either the new data-binding model with data source controls, or can continue to use the model used in previous versions of ASP.NET 1.1.
  • All controls support themes and skins so that you can customize their appearance using an ASP.NET theme.
  • Many controls such as the Button control support site counters; ASP.NET can track how often the control is clicked.
  • You can use device filtering with many control properties, specifying different property values for different devices. When the control is rendered, the appropriate property value is set based on the requesting browser.
  • Validator controls can now be grouped, which allows you to selectively enable validation for some controls.
  • Improvements to individual controls such as the Label control, ListBox control, and others to add functionality often requested by developers.

New Controls:
ASP.NET offers a greater selection of controls to help you create fully featured Web pages much more quickly. You can now take advantage of the following controls:

  • Data. The GridView control is a highly capable data grid that can display and edit data, page, and sort, all without code. The TreeView control displays XML data and includes many options to customize both its appearance and behavior. To simplify data binding, you can use the new data source controls, described in more detail below under Data.
  • Navigation. You can add navigation paths (also known as breadcrumbs) to pages with the SiteMapPath control and display a site map using the TreeView control.
  • Security. You can authenticate users with a suite of login controls that allow you to get and validate user credentials, display custom output for logged-in users, and more. For more information, see Security.
  • Graphics. The DynamicImage control can display graphics from a file, a database, or that you create programmatically. A new image generation service allows you to programmatically manipulate graphics for Web pages.
  • Statistics. The new site counter service allows you to track page visits and click-throughs in your Web applications and helps you track the resulting information. New and existing controls, including the AdRotator and Hyperlink controls, now take advantage of a new site counter service that allows you to track visits and click-throughs.
  • Devices. A number of controls, such as the PhoneLink control, are specifically designed to help you create pages for devices. In addition, all controls can render device-specific output (adaptive rendering), as described in Device Support.
  • Web Parts. A new set of Web Part controls allow you to create portal pages that users can personalize at run time. For example, you can create a Web Part that allows a user to enter a custom value such as a postal code and get localized weather reports.
  • Client behavior. New controls provide ASP.NET server control functionality for tasks that previously was handled only by HTML elements. These include the FileUpload control, ImageMap control, and the Hidden control. The new Wizard control allows you to create a page with multiple panels that step the user through multi-part forms.

In addition, existing ASP.NET controls have been enhanced with new features. All controls now support the new data-binding model, themes, and personalization. You can also use all controls to create pages for devices; controls now automatically support adaptive rendering and device filtering. For more information, see Device Support.
Data
ASP.NET includes substantially improved support for working with data in your Web applications.
Data Source Controls:
For binding data to controls on Web pages, you can now use data source controls, which encapsulate connections, query commands, and parameters into a single control. ASP.NET includes data source controls that work with a variety of back-end data sources, including Microsoft SQL Server, Microsoft Access, XML files, Web services, FrontPage site maps, and business objects that return data sets. All data source controls support the same basic object model, giving you a consistent way to work with data regardless of its source.
Data source controls can automatically fetch data and manage it when the page runs. You no longer need to write code to execute commands and manage datasets for common data scenarios. However, if your application requires it, you still have access to the lower-level data functions exposed by ADO.NET.
To pass parameters to data source controls, you can configure the controls to draw parameters values from other controls, Session state, query strings, or cookies; in addition, you can set parameter values programmatically.
Middle-Tier Data Access:
By using the new ObjectDataSource control, you can easily add data access to a page that is based on a middle-tier business object. The ObjectDataSource exposes the same binding interface to controls on the page, but instead of performing direct database access, it invokes methods on a component that you specify.
Data Display Controls:
ASP.NET also includes enhanced support for displaying and updating data with controls on Web pages. All controls can now use data source controls as data source instead of working directly against a dataset or other store. You can also take advantage of the following new controls that are specifically built to make data access easier:

  • The GridView, DetailsView, FormView controls to display and edit data. (The GridView control supersedes the DataGrid control from previous versions of ASP.NET.)
  • The TreeView control to display hierarchical information from XML files, sitemap files, and relational data sources.
  • The SiteMapPath and Menu controls to provide data-bound support for navigation.

XML Support:
You can use XML data in a variety of ways in ASP.NET. An XML data source control exposes XML data to be used either as hierarchical or tabular data. You can bind a TreeView control to XML data to provide a hierarchical view for users, or you can bind a list control such as the GridView control to display XML in a traditional way.
Connection String Storage:
To enhance Web site security, you can store connection strings in a dedicated section of the configuration file.
Security
New ASP.NET features provide built-in support for authenticating and authorizing users. ASP.NET membership manages authentication, providing facilities for validating user credentials and helping users manage their passwords.
The membership service provides APIs that you can call programmatically to create new users, validate credentials, and get user information. To simplify authentication even more, you can use the new login controls, which work with the ASP.NET membership to perform a variety of tasks, often with no extra code required. The Login control prompts users for credentials and validates them. The PasswordRecovery control provides various options for helping users either change or remember their password. You can display user information with the LoginName control, and present a Login or Logout button using the LoginStatus control. The LoginView control allows you to mark content in a page that is visible only to authenticated users.
ASP.NET role management helps you manage authorization, providing high-level ways for you to define and check roles for users. For details, see Understanding ASP.NET Role Management.
Both the membership and role management systems use the new ASP.NET provider model, which separates the functionality of the systems from the data store that supports them. For example, membership allows you to store user information in Microsoft SQL Server or Microsoft Access. If these default options are not suitable for your requirements, you can create your own provider that accepts calls from membership and then fulfills them using your custom data logic.
Device Support
Pages and controls in ASP.NET feature integrated support for a variety of browsers and devices. ASP.NET supports adaptive rendering, so that pages and controls can automatically create the appropriate output for the browser or device that originated a page request, whether HTML, XHTML, or a protocol for a mobile device such as WML and cHTML.
Note: ASP.NET is backward compatible with Web applications created using the Microsoft Mobile Internet Toolkit (MMIT).
Controls support device filtering, which allows you to override a control’s properties based on requesting browser or browser class. For example, you can specify that the Text property of a control display a short string for a mobile phone but a longer string for a device that supports a larger viewing area.
To help you create applications that are optimized for various devices, ASP.NET includes controls that are specifically designed for smaller viewing areas. Examples include the MultiView control, which allows you create multipaned forms, and the Pager control, which automatically handles pagination when output is too large for the current device’s display area.

Posted in .Net Framework | Leave a Comment »