The Internet and the World Wide Web have seen intense advancements in recent times all over the world and India has been no exception. asp net development in India has progressed fast and is also being offered on an offshore basis to companies outside the country. India has always been well known and valued for its cost effectiveness and international level skills. This reason has also made it the country of preference as a choice of ASP.NET platform development.
DOT NET Development Suitable for Various Factor
Companies requiring dot net development platform look for various factors which an active and dynamic ASP.NET development should be able to provide. These factors include: web based needs, suitable web platform development and the internet populace the company would like to aim for. The growth of extensive professional service for ASP.NET development has been directly proportional to the growth in organizations and businesses being based on ASP.NET platform.
ASP.NET is speedily being developed to cater to provide net development solutions for e-commerce, e-businesses, e-commerce storefronts, B2C and B2B portals, e-governance and customer relationship management websites. Social websites, online auctions and polls, and many other applications benefit from ASP.NET development. It has been seen recently seen that ASP.NET is fast becoming a favorite for web development in India as far as internet and web managers for websites are concerned. E-commerce applications, development of portals etc. and partnerships with companies abroad have resulted in successful development of applications for shopping carts, content management systems, ASP.NET forums, newsletters and auto-responders.
The ASP.NET developing companies of India offer pricing schemes capable of changing and adjusting for most developers in throughout the world. The two main pricing and hiring-out ways for application schemes are one - a customized quote for a particular project, and two - quoting an hourly price. Some companies and businesses hire a team of dedicated developers to work as a virtual team abroad and or alternatively hire their resources on a month to month basis as long as the project requires.
With Webmyne, you can get various web application development india services from the php development company, product development company, asp.net development at an affordable rate.
Dot Net Development - Providing Solutions For Every Business Needs
/
9:54 PM |
Dot Net Questions on Web Config
/
There are two Config Files Web.Config and Machine.Config and these configurations files are XML-based text files and have named web.config that can be appear in any directory of web application created in ASP.NET. Web.config configuration settings to all the files and on child directory file of the application and directory it is located in and to all virtual child directories beneath it. Child directories have option to override or modify settings that is specified in parent directories .
The root configuration file WinNTMicrosoft.NETFrameworkconfigmachine.config provides default configuration settings for the entire machine and all application under it . But one thing is that IIS cannot configures to direct browser access to web.config files to ensure that their values cannot become public and error which is shown is ASP.NET to return 403: Access Forbidden. The main functioning of Config file explorer it self at run time in ASP.NET and ASP.NET uses these web.config configuration files to hierarchically compute a unique collection of settings for each incoming URL target request .Some of the settings that's comes in Config files is just like session state. Session state features can be added in web.config in session state tag.We can also set the timeout policy there which is default 20 minutes mainly there are four modes of session in config file.
Off -Indicates that session state is not enabled.
Inproc - Indicates that session state is stored locally.
StateServer-Indicates that session state is stored on a remote server.
SQLServer-Indicates that session state is stored on the SQL Server.
And another section of the config file is connection string or we can say that appSettings that's the great advantage of config file that we can place our connection string that's help in securing of our connection string from the user because this file cannot be browse some other feature also in config file just like Custom Error, Authorization, Authentication assembly reference.
9:47 PM |
Benefiting From the ASP Dot Net Report Generator
/
The asp.net report generator can easily go for the program that makes you obtain the information that you need from your system. It is very important that you get the best software there in order for you to obtain what you need from the reports.
If you want a comprehensive solution to make reports for the.net framework platform, we strongly suggest that you download an asp.net report generator. This product includes the complete set of tools that are built to report the WinForms and ASP.net. Along with the WPF environments, the report designers can just be tuned into the unique report designers for the web viewers that display the reports.
The powerful system when you export the reports can support the different types that come with various formats. If these are simple yet powerful, then the asp.net report builder can actually get the job done. That is because the asp.net report maker will just determine the different technologies along with the common approaches needed when creating the reports. Once these are migrated, then the applications of the new technology, along with the principles when working the reports consists the asp.net report maker that the person needs.
The asp.net report builder can also create in the flexible and rich reports that are created in the design of the handy as well as the user-friendly interface. When these are used, then the report designer will also come in runtime and in design time. There are no royalties or an asp.net report generator that you get legally. As long as the stimulsoft reports, you can also create the bases along with the various data sources. When you create these, then you can use both the Windows Forms along with the asp.net report generator with the rendered reports.
The asp.net report generator can also go for the different foundation which is the reporting tool with the need to surf the Internet. You can always go for the reporting tool along with the needed technology that will render the printing, viewing and reporting of the information that you need with the asp.net report maker. It is very important to just go with the flow and get what you believe will be very beneficial to your use.
The reporting tool that is also designed to create and render reports in the Web will always be there to generate the reports that you need for your system. If you use this as the complete cycle that you need in the report building, then you can always start with the report templates and then just end these by showing them with the browser that you need along with the asp.net report generator. If this is the first reporting tool that you are using, then you should definitely go for the.net framework which will allow you to just edit the directly Web components.
The report designer that allows you to edit the reports that are completely located online may require you to install the.net framework that includes the other special plug-ins along with the client's machine. If you need the web browser, then it is very important that you go for the asp.net report builder. If you want one that is designed for the rich internet application, then you should go for the report tool that you won't feel cheated with. Just go or the various development of the business applications in the Internet Adobe Flex.
The asp.net report generator will always go for the one that is considered to be the most advanced technologies for the development along with the business applications for the Internet Adobe Flex that is beneficial to your end.
9:46 PM |
Install Dot Net Nuke - DNN - On Windows Dedicated Server
/
Introduction :
Dot Net Nuke which is also known as DNN in Short is a Web Application Framework which consists of it's own Content Management System (CMS). DNN is an Open Source i.e. a Free Application from Microsoft which is yet another benefit. It is written using Windows ASP.NET Framework and VB.NET and the Content Management System of it is Highly Customizable according to the requirements of the User. It is mostly used for the Creation, Distribution and management of Websites, Intranet and Extranet and can Customized through Modules and Skins.
Features of DotNetNuke :
1. Installation : The installation process of DNN is very simple and you can install DNN within a short time once you have downloaded the Application. Some of the Web Hosting providers will provide you with DNN already installed on the Web hosting package/Server.
2. Use : DNN is made with a Motive to provide Administrators, Designers, Web developers and People of other niches with ease of management and use. User Interface provided by DNN makes it even easier for everyone to manage other things which can be really difficult at times.
3. Potential : You will have the Power to manage many websites once you have installed DNN. Managing many websites at the same time will never be difficult with DNN.
4. Amazing Tools : DNN already has Exceptional tools which will allow to manage everything in the best possible way. The tools provided can help you with the management of Website Hosting, Web design, Security, Content etc.
5. Languages Supported : DNN includes Multi-Language support that allows Users to translate Selected websites into the Languages they wish to.
6. Advantage : DNN offers the User an Over-Edge advantage to use the Technologies such as Visual Studio, Windows Server, SQL Server, ASP.NET 2.0 and IIS.
Installing DotNetNuke (DNN) on Windows Dedicated Server :
1) First you will have to Download MSI Installer of DNN from it's website itself and save it on your Windows Dedicated server.
2) Next step will be easier if you have Plesk control panel with your Windows Dedicated server. Anyways, the step is to Create MSSQL Database and assign Name and Password to it.
3) Now, Upload the DNN Folder into the httpdocs folder of the Domain name on which you wish to install DNN once you are done with the extraction Zip file on your Local Machine.
4) Next, httpdocs Folder should be setup as "Modify Permissions". Also, provide "Modify Permissions" to IWAM_ & IUSR_ users and this task can be done through File Manager Option in your Plesk control panel if you have it.
5) It is also possible to install DNN in the Subfolder of your Domain name and if you wish to do this then you will have to set it as an Application Directory. To do this, go to the Web Directories in Plesk control panel on create new Virtual Directory Option.
6) After you have followed the above steps properly, go to dotnetnuke.com/DNN
7) Finally, you will have to start the DotNetNuke (DNN) Installation Wizard.
Installation Wizard of DotNetNuke (DNN) :
Please note that the Installation Wizard we are working on is Version 04.08.04
1. Welcome :
Welcome message will be Displayed once you login into the Installation Wizard of DotNetNuke. You will also get an Option to choose the Installation Method, Select "Custom". Also, you will get an Option to choose the Language (Please note : We have Chosen English Language).
2. Checking File Permissions :
DotNetNuke has many File upload Capabilities for Modules, Skins and Content.
Note : Custom Security Settings are required by these features and the reason for this is the fact that Application should be able to create and remove files in your website. Current File Permissions will be checked now so that these features will work properly.
3. Configure Database Connection :
Now you will have to configure the Database which will be used by DotNetNuke. You will get 2 Options if you are using Database i.e. SQL Server 2005. The use of Database files are supported by SQL Server 2005 and this should be used mostly. Hence, you should select the Database Option.
Note : If you are using SQL Server 2005 Express Edition then you will have to choose the File Option.
Now, Select the Database SQL Server 2000 or 2005.
Enter the Database Information accordingly.
Server : IP\SQLEXPRESS
DB_Name : ________
Uncheck Integrated Security
DB_User : ________
DB_Pass : ________
4. Host User Configuration :
The Details for the Host or the Super User Account should be provided now.
Important : You should make sure that you provide a proper Username and Password to this user as this User has access to all the Portals Created on the website and you should make sure that the Username and Password used is quite safe.
5. Install Optional Modules :
You can install Modules if you need here. DotNetNuke is highly Extensible.
6. Install Authentication Services :
You will get an Option to choose the System you wish to install as DotNetNuke supports a Number of Systems if they are Authenticated.
7. Install Optional Skins and Containers :
You can choose the Skins and Containers for DotNetNuke here as it has a good Skining Capability.
8. Install Language Packs :
You can choose the Language you wish to have as DotNetNuke supports a number of Languages.
9. Title of Portal :
You will have to configure the Host (or initial) Portal (website) Here. It is necessary for you to create an Administrator user account now.
Note : This Particular user can access all the Portals and use them accordingly. Hence, with the Host user you should make sure that you provide a Username and Password to keep it Private and safe.
10. Congratulations :-)
This is a Moment of Joy for you as you must have Successfully Installed DotNetNuke.
9:46 PM |
Some Important Features of Dot Net
/
Some Important Features of Dot Net
Interoperability support (Interop)Migrating to . NET from existing languages and platforms has been made much easier; Especially if that environment is COM or Java. COM, Interop is built into the framework, and C# will be very familiar for those developing in Java currently. In fact, Microsoft has a migration utility to automatically migrate existing Java source code into C#.
Common language runtime (CLR)
This is the engine that is shared among all languages supported in . NET, including C#, VB. NET, Managed C++, J#, and others to come. With the help of the CLR, the developer can write base classes in VB. NET, child classes in C#, and aggregate this tree from Managed C++ (this is just one example). You choose the language during implementation.
Base class library (BCL)
What makes Java so appealing besides the managed environment and cross-platform support is its class library. The . NET framework takes the class library concept a step further by supporting it across any language and extensible for future platform variances. Now BCL-supported features such as remoting, string manipulation, exception handling, and collection management construct is the same from any language conforming to the CLI.
Common type system (CTS)
This addresses the supported data types within the framework and how they are represented in metadata format. Each supported . NET language need only support a subset of the total data type set. Typically, it will be those types used most frequently (e. g. , integer, short, long, string, char, boolean, object, interface, struct, etc. )
Simplified deployment
Say goodbye to DLL hell and the nightmare of Windows registration. Applications can now be deployed by a simple XCOPY of the assemblies, ASP. net files, and configuration files.
Full Web service and SOAP support
Complexities are optionally hidden for building Web service providers and consumers in . NET. Details of the syntax and protocol surrounding XML Web services can be fully customized if needed, however. It is truly the best of both worlds.
XML at the core
Serialization, streaming, parsing, transforming, and schema support are only some of the "baked-in" XML features of the . NET runtime.
Object-oriented ASP. NET
Use script for your clients, not your server-based code! Leverage your existing OO framework from ASP. NET and enjoy improved Web application performance due to compiled server code.
9:46 PM |
What is Dot Net Nuke Web Hosting?
/
World Wide Web offers a vast number of features, products, services and education to many of its enthusiasts and users. It also opens up doors to provide opportunities and new information regarding what is new and how they are improving the kind of living as well as how you do things. How do these sites exist and come up with?
Web hosting is just one kind to what they call as internet hosting service in which individuals are permitted to create their own site that is made accessible through the World Wide Web. Certain companies are also offering either a space from there own server or they rent out for the utilization of their clients and the provision of connectivity in the internet usually in data centers. These companies are called web hosts.
Dot Net Nuke Web Hosting is one of the popular CMS or portal content management system. It is open-source software, which is available to any one who is interested to engage in such venture or invest in this activity and earn for a living. It also permits users to do whatever they prefer with the framework of the application, may it be for commercial or personal purposes.
It is also an idyllic way to actually create any kind of website you prefer ranging from corporate intranets, commercial sites, and online publishing portals to personally-focused and created blogs.
Dot Net Nuke Web Hosting delivers about many benefits towards its users.
It includes giving you more security and convenience in managing your site along with its contents. This kind of content management system ensures that each element in your site has its collateral security settings that are applicable to let or block users from editing and viewing your site. It gives you convenience since it allows you to log in to your site anywhere across the globe.
You can also save money since you will hire a programmer to sustain your site of possible plug-ins and contents since you can do it yourself and it is just one click away. You can easily change your profile, skins and other setups to make your site look good and inviting.
By using DNN web hosting, you can easily publish and manage your articles, documents, images, news and other information. It can also sustain towards a vast number of contributors of the contents in your site. In other words, you can easily modify your site whenever and whatever you prefer.
9:45 PM |
ASP Dot Net Reporting Fundamentals
/
The asp.net reporting organizes the charts and the tables in order for the costumers to comprehend the nature of the business. With the silverlight asp net and tekerik asp net helping out, it is possible to get the basics.
APP.net reporting is a lightweight reporting software program that lets the users embed the reports easily. Whether these be in WebForms, Window Forms application, or Silverlight, the program can easily support the data exported from one popular file format. The RTF and the PDF, along with the Excel and TIFF programs can easilybe formatted to a unique style that can come with the intuitive report designer and the powerful API. This results to the creation of elegant reports that are easily presented in the visual studio.
The key highlights automatically proceed to ASP.net reporting. There's full control over the data. When these are presented in an excellent manner, the design surface will immediately be analyzed. The ASP.net reporting demands free licensing along with royalty sources and enterprise services. The.net based report generator also helps in creating the rich and flexible reports that are connected to the user-friendly interface.
The silverlight asp net can resort to the report designer which is available in different runtime and designs. When the user is concerned with the royalties, then the report designer is connected to the runtime then this is a requirement for the program. Whenever the reports are generated, the database comes in different data sources. The rports will then be generated in different systems such as the Window Forms and the asp.net reporting. Once these have been rendered and then exported into the data, these will be presented in formats such as XML, Excel, RTF, Csv, Png, Txt, HTML and PDF. Now yhou will be sure that there is runtime royalty free in the SimulReport.net.
When the Silverlight asp handles the reporting templates in various pages, then the data automatically sorts and groups according to the filtration of the report engine. The hierarchical reports will then accumulate to the multicolumn reports and then generate these to the grouping. Once these are sorted to the software's unique ability, then the different containers along with teh segmented pages can just go for the asp.net reporting program.
There is a less complicated way to really gain the reports through the report sharp-shooter asp net when it comes to the exchange of the parameters along with the other forms. The report output can just go for the powerful system of the calculation of tools that can be dug up from the back up data support. The business objects can also support the data that is rooted directly from the report. The dialog forms the parameters as well as the report output.
When you use the data gained from the asp.net reporting, you can run the report sharp-shooter asp net in order for the information to be supported and backed up. If you have the business objects supported, it will be easy for you to directly head to the data that you need in different scenarios whenever you need it. The Silverlight asp.net processes the report engine with the charts. If these are comprehensive enough, then you can just go for the design that have been allocated to increase the graphical impact of the reports along with the chart that best presents the data that you are reporting.
Take note that the report designer will always be available in runtime. When the asp.net reporting comes with teh different user-friendly interface, he can just check out the easy set up for the different tasks that require the text editing on the page according to preview the report designer. The business decisions zoom and depend ont he perfect manner in order to go for thei nformation that has been presented.
9:45 PM |
Why Dot Net Development is Important?
/
New Generation Windows Services, usually known as .NET, is one of the highly popular modern web technologies, developed by software giant Microsoft Corporation. This is actually a combination of a number of technologies, development tools and standards. Earlier this was used for producing Internet based platform, but in the present time there are a wide variety of applications of .NET.
In modern day web business .NET has high importance in developing web business. This web technology generates large volumes of data that contain valuable information like facts about customers, operations, products/services and people. So, in order to make a highly effective website with versatile features and functionality, .NET application is a must.
The reasons for which you should consider .NET development as an essential for you website are:
* Through this web technology you will get comprehensive supports in different levels of authentication services such as wallets, passwords, and smart cards
* .NET software product developments with ease
* By using this technology you will be facilitated by availing supports of various directory services that can answer XML based questions
* This technology helps you to develop web services by using the SOAP toolkit and the .NET framework
* .NET desktop and web applications developments
* This web technology permits a wide range of Internet devices to access applications and data
* .NET customer control developments
* .NET technology gives easy and sophisticated integration of any software into the internet.
* The technology permits a large variety of Internet devices to access various applications and access.
* Using this web technology means being able to integrate any software into the internet
Apart from all these, there are several other benefits associated with .NET developments. But, in order to get the utmost benefits from .NET development services you need to avail the service from a highly skilled service provider and in this regard an Indian IT company would be the perfect choice.
9:45 PM |
Learning Java, J2EE and Dot Net
/
Software is the biggest market now days. Software industry has grown rapidly and millions of people are involved in this, including professionals, software learners, students etc. These all are major contributors in this industry.
Pool of young manpower is the key behind success story of Software Industry. Software Development is done on many different platforms. The major players are Sun Microsystem's JAVA and Microsoft's ASP.Net.
J2EE and ASP.Net are the most popular languages used for server side programming. JAVA Training and ASP Training is the part of today's education system. But who cares in student life.
Professional software training includes practical approach to get through the concepts of these languages. JAVA Training includes Core Java and Advance Java, Struts, Hybernets and other important models like MVC (the most popular one).
On the other hand there is the biggest competitor of Sun Microsystem's Java, that is Microsofts.Net Platform. Its basically a framework not an independent language. ASP.Net Training includes basic framework, ADO.Net and several other concepts. C# is the language that is used mostly for.Net development.
Students are most of the time confused about which they opt between Java and.net. Both are object oriented, and mainly used for web development.
Java provides platform independence by Bytecode and.Net provides platform independence by MSIL that is MicroSoft Intermediate Language code.
Java uses JRE to execute Bytecode where.Net uses CLR for the common IL code.
Both the languages are used in the software industry so you can choose any of them as your career.
9:43 PM |
Dependency Injection using Spring.NET
/
Spring.NET is one of the popular open source frameworks ported from Java platform. It offers a lot of functionality, and in this article, I will discuss about Dependency Injection and how it is supported in Spring.NET.
Dependency Injection
Dependency Injection is a technique that decouples the consumer from the actual implementation during design/compile time and binds them at run time.
At a lower level of implementation, in a typical application, there will be a class that implements a logic, and it will be consumed by another class. The reason why we have two classes will drag us to discussions like modularization of code, reusability, maintainability etc.
When we consume a class instance (let's say, ClassB) from another class instance (ClassA) at compile time, then any changes to ClassB will affect ClassA. For every change, we need to recompile, redeploy the whole stuff, and other related issues. In this case, there is a static or compile time binding between ClassA and ClassB.
Dependency Injection is one of the techniques that relieves us from the pain of static binding and decouples ClassA and ClassB. The end result, a decoupled or loosely coupled system.
There are lot of materials available to understand DI in detail. Martin Flower has an excellent article that explains the concepts, with examples.
DI using Spring.NET
Spring.NET offers DI as an out of the box solution. In this article, I will dig deep and explain how we can leverage the benefits offered by Spring.NET.
Scenario
I created an application that has the typical three layers - Presentation, Business Logic Layer (BLL), Data Access Layer (DAL). The UI layer implements the MVP pattern, in which I created views (WinForms), Presenter classes, and DataTable as Models.
The UI calls the Presenter, which interacts with BLL; BLL interacts with DAL and retrieves data from the Northwind database.
The following diagram shows the layers of the application:
Limitations of a tightly coupled system
In a tightly coupled system, the UI is dependant on BLL, and the BLL is dependant on the DAL. If we change something in the DAL, then all the layers need to be recompiled and redeployed.
Advantages of a loosely coupled system
Instead, if we develop in a loosely coupled manner, then the compile time dependency can be avoided. The instances can be chained at runtime. This gives the following advantages:
Decouples the layers
Ability to link the layers at runtime
Ability to link a different implementation at runtime for QA/testing purposes
Ability to develop the layers independently, and integrate at a later point
Steps to implement DI using Spring.NET
Having discussed about the advantages, it's now time to see how we can go about implementing the technique. Following are the broad steps that need to be followed to implement DI using Spring.NET.
Step 1
Define your interfaces that will be exposed by the layers.
Step 2
Provide concrete implementation for the interfaces defined by your layer.
Step 3
Configure the objects in the Spring.NET configuration.
Step 4
Initialize the Spring.NET configuration at runtime using the Spring.NET API.
Step 5
Use the Spring factory to create the instance for you.
Step 6
Consume the instance created by the Spring factory in the calling layer.
9:01 PM |
.NET Serialization
/
In .NET, serialization is often used with streams, which are the abstractions used to read and write to sources such as files, network endpoints, and memory sinks. Richard Grimes wrote an earlier column on .NET streams for CodeGuru, which you can read here.How Do You Use Serialization?
Serialization is handled primarily by classes and interfaces in the System.Runtime.Serialization namespace. To serialize an object, you need to create two things:
* a stream to contain the serialized objects * a formatter to serialize the objects into the stream
The code required to perform serialization in .NET is very simple. Most serialization code is similar to the boilerplate code shown below, which serializes an object into a file stream using the BinaryFormatter class:
public static void WriteToFile(BaseballPlayer bp, String filename){ Stream str = File.OpenWrite(filename); BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize(str, bp); str.Close();}
Using the BinaryFormatter for serialization results in a compact representation on disk, although it is not a form that is easily read using a text editor. If you would like a more human-friendly representation, you can use the SOAP formatter, as shown below:
public static void WriteToFile(SerialCircle shape, String filename){ Stream str = File.OpenWrite(filename); SoapFormatter formatter = new SoapFormatter(); formatter.Serialize(str, shape); str.Close();}
Simplified Serialization Using Attributes
The simplest way to make your classes eligible for serialization is to use the Serializable attribute. By decorating your class with this attribute as shown below, your classes are immediately made serializable:
[Serializable]public class BaseballPlayer{ [...]}
By default, all members of a class are serialized, including private members. To reduce the amount of data serialized to the stream, you can inhibit serialization of members that are not required to reconstitute the class by attaching the NonSerialized attribute to those members:
[NonSerialized]private Decimal _salary;
The NonSerialized attribute is useful for those member variables that represent calculated values or contain information that is transient rather than persistent, or data that should be hidden and not persisted to a storage medium.Serialization and Private Members
In order for serialization to work effectively, the serialization mechanism must be able to capture enough information about the state of an object to allow it to properly recreate a true copy of the original object at a later time. This often requires information not available to public clients of a class, but it is a necessary side-effect of the work that the serializer must perform. Improperly serialized objects cannot be deserialized properly—it's as simple as that. An example of failed serialization can be seen in the movie Galaxy Quest, where the transporter mechanism fails its test, effectively deserializing a menacing beast inside-out, with explosive (and messy) results.Is Exposure Required?
In the MFC class library, objects were responsible for serializing themselves. While this did prevent the sharing of internal class details with formatters, it did require all class authors to write correct serialization code for all classes that might ever require serialization. This requirement leads to the following problems:
* Many developers who can write usable classes cannot write good serialization code. This leads to problems similar to the exploding space pig in Galaxy Quest. * Testing can detect the likely hood that a specific class will result in explosions, but such tests increase the testing effort required for each class that implements serialization support. * Embedded serialization code adds to the costs of maintainability and adds to the risk of updating components. Any changes to a class that supports serialization in MFC must be properly reflected in the serialization code. Errors in this code may be, as noted previously, just as catastrophic as code that performs the "real work" of the class. * But there is a simple way around this mechanism—you can simply elect to not participate in MFC serialization, which may limit the usefulness of your class. Note that even though your class does not need serialization today, it may need it tomorrow, and software developers are notoriously bad at foretelling the future. In NET, all types are self-describing, and the serialization architecture simply leverages the self-describing nature of .NET objects to perform serialization, without all of the problems inherent in the MFC approach. What do you get out of the improved serialization in .NET? * In most cases, you need to write very little serialization code. In this column, the code examples are covering special cases, but much of the time you'll need to write zero (or very little) code. * You don't need to maintain the serialization code you don't write—there's somebody at Microsoft doing that for you. * You can version your classes as needed—the serialization will occur correctly, as the serialization architecture adapts to changes to your classes. * The serialization framework provides several places where you can customize portions of the framework to suit your needs. For example, you can write your own formatter class if you need to format your serialization output in a specific way, using ROT-13 encoded XML, for example. * All of your classes can participate in serialization, with no work (other than an attribute tag) required by you.
9:00 PM |
What's New in the .NET Framework 4
/
The .NET Framework 4 introduces an improved security model. For more information, see Security Changes in the .NET Framework 4.
Other new features and improvements in the .NET Framework 4 are described in the following sections:
*
Application Compatibility and Deployment *
Core New Features and Improvements *
Managed Extensibility Framework *
Parallel Computing *
Networking *
Web *
Client *
Data *
Windows Communication Foundation *
Windows Workflow Foundation
See New Types and Members in the .NET Framework 4 for lists of new namespaces, new types, and new members added to existing types.Application Compatibility and Deployment
The .NET Framework 4 is highly compatible with applications that are built with earlier .NET Framework versions, except for some changes that were made to improve security, standards compliance, correctness, reliability, and performance.
The .NET Framework 4 does not automatically use its version of the common language runtime to run applications that are built with earlier versions of the .NET Framework. To run older applications with .NET Framework 4, you must compile your application with the target .NET Framework version specified in the properties for your project in Visual Studio, or you can specify the supported runtime with the
If your application or component does not work after .NET Framework 4 is installed, please submit a bug on the Microsoft Connect Web site. You can test compatibility as described in the .NET Framework 4 Application Compatibility topic and learn about new features by using the Visual Studio 2010 and .NET Framework 4 Walkthroughs.
For guidance about migrating to the .NET Framework 4, see Migration Guide to the .NET Framework 4 and Version Compatibility in the .NET Framework
The following sections describe deployment improvements.Client Profile
The .NET Framework 4 Client Profile supports more platforms than in previous versions and provides a fast deployment experience for your applications. Several new project templates now target the Client Profile by default. For more information, see .NET Framework Client Profile.In-Process Side-by-Side Execution
This feature enables an application to load and start multiple versions of the .NET Framework in the same process. For example, you can run applications that load add-ins (or components) that are based on the .NET Framework 2.0 SP1 and add-ins that are based on the .NET Framework 4 in the same process. Older components continue to use the older .NET Framework version, and new components use the new .NET Framework version. For more information, see In-Process Side-by-Side Execution.
Core New Features and Improvements
The following sections describe new features and improvements provided by the common language runtime and the base class libraries.Diagnostics and Performance
Earlier versions of the .NET Framework provided no way to determine whether a particular application domain was affecting other application domains, because the operating system APIs and tools, such as the Windows Task Manager, were precise only to the process level. Starting with the .NET Framework 4, you can get processor usage and memory usage estimates per application domain.
You can monitor CPU and memory usage of individual application domains. Application domain resource monitoring is available through the managed and native hosting APIs and event tracing for Windows (ETW). When this feature has been enabled, it collects statistics on all application domains in the process for the life of the process. See the new AppDomain.MonitoringIsEnabled property.
You can now access the ETW events for diagnostic purposes to improve performance. For more information, see CLR ETW Events and Controlling .NET Framework Logging. Also see Performance Counters and In-Process Side-By-Side Applications.
The System.Runtime.ExceptionServices.HandleProcessCorruptedStateExceptionsAttribute attribute enables managed code to handle exceptions that indicate corrupted process state.Globalization
The .NET Framework 4 provides new neutral and specific cultures, updated property values, improvements in string handling, and other improvements. For more information, see What's New in Globalization and Localization.Garbage Collection
The .NET Framework 4 provides background garbage collection. This feature replaces concurrent garbage collection in previous versions and provides better performance. For more information, see Fundamentals of Garbage Collection.Code Contracts
Code contracts let you specify contractual information that is not represented by a method's or type's signature alone. The new System.Diagnostics.Contracts namespace contains classes that provide a language-neutral way to express coding assumptions in the form of preconditions, postconditions, and object invariants. The contracts improve testing with run-time checking, enable static contract verification, and support documentation generation. For more information, see Code Contracts.Design-Time-Only Interop Assemblies
You no longer have to ship primary interop assemblies (PIAs) to deploy applications that interoperate with COM objects. In the .NET Framework 4, compilers can embed type information from interop assemblies, selecting only the types that an application (for example, an add-in) actually uses. Type safety is ensured by the common language runtime. See Using COM Types in Managed Code and Walkthrough: Embedding Type Information from Microsoft Office Assemblies (C# and Visual Basic).Dynamic Language Runtime
The dynamic language runtime (DLR) is a new runtime environment that adds a set of services for dynamic languages to the CLR. The DLR makes it easier to develop dynamic languages to run on the .NET Framework and to add dynamic features to statically typed languages. To support the DLR, the new System.Dynamic namespace is added to the .NET Framework.
The expression trees are extended with new types that represent control flow, for example, System.Linq.Expressions.LoopExpression and System.Linq.Expressions.TryExpression. These new types are used by the dynamic language runtime (DLR) and not used by LINQ.
In addition, several new classes that support the .NET Framework infrastructure are added to the System.Runtime.CompilerServices namespace. For more information, see Dynamic Language Runtime Overview.Covariance and Contravariance
Several generic interfaces and delegates now support covariance and contravariance. For more information, see Covariance and Contravariance in Generics.BigInteger and Complex Numbers
The new System.Numerics.BigInteger structure is an arbitrary-precision integer data type that supports all the standard integer operations, including bit manipulation. It can be used from any .NET Framework language. In addition, some of the new .NET Framework languages (such as F# and IronPython) have built-in support for this structure.
The new System.Numerics.Complex structure represents a complex number that supports arithmetic and trigonometric operations with complex numbers.Tuples
The .NET Framework 4 provides the System.Tuple class for creating tuple objects that contain structured data. It also provides generic tuple classes to support tuples that have from one to eight components (that is, singletons through octuples). To support tuple objects that have nine or more components, there is a generic tuple class with seven type parameters and an eighth parameter of any tuple type. File System Enumeration Improvements
New file enumeration methods improve the performance of applications that access large file directories or that iterate through the lines in large files. For more information, see How to: Enumerate Directories and Files.Memory-Mapped Files
The .NET Framework now supports memory-mapped files. You can use memory-mapped files to edit very large files and to create shared memory for interprocess communication.64-Bit Operating Systems and Processes
You can identify 64-bit operating systems and processes with the Environment.Is64BitOperatingSystem and Environment.Is64BitProcess properties.
You can specify a 32-bit or 64-bit view of the registry with the Microsoft.Win32.RegistryView enumeration when you open base keys.Other New Features
The following list describes additional new capabilities, improvements, and conveniences. Several of these are based on customer suggestions.
*
To support culture-sensitive formatting, the System.TimeSpan structure includes new overloads of the ToString, Parse, and TryParse methods, as well as new ParseExact and TryParseExact methods. *
The new String.IsNullOrWhiteSpace method indicates whether a string is null, empty, or consists only of white-space characters. New overloads have been added to the String.Concat and String.Join methods that concatenate members of System.Collections.Generic.IEnumerable(Of T) collections. *
The String.Concat method lets you concatenate each element in an enumerable collection without first converting the elements to strings. *
Two new convenience methods are available: StringBuilder.Clear and Stopwatch.Restart. *
The new Enum.HasFlag method determines whether one or more bit fields or flags are set in an enumeration value. The Enum.TryParse method returns a Boolean value that indicates whether a string or integer value could be successfully parsed. *
The System.Environment.SpecialFolder enumeration contains several new folders. *
You can now easily copy one stream into another with the CopyTo method in classes that inherit from the System.IO.Stream class. *
New Path.Combine method overloads enable you to combine file paths. *
The new System.IObservable(Of T) and System.IObserver(Of T) interfaces provide a generalized mechanism for push-based notifications. *
The System.IntPtr and System.UIntPtr classes now include support for the addition and subtraction operators. *
You can now enable lazy initialization for any custom type by wrapping the type inside a System.Lazy(Of T) class. *
The new System.Collections.Generic.SortedSet(Of T) class provides a self-balancing tree that maintains data in sorted order after insertions, deletions, and searches. This class implements the new System.Collections.Generic.ISet(Of T) interface. *
The compression algorithms for the System.IO.Compression.DeflateStream and System.IO.Compression.GZipStream classes have improved so that data that is already compressed is no longer inflated. Also, the 4-gigabyte size restriction for compressing streams has been removed. *
The new Monitor.Enter(Object, Boolean) method overload takes a Boolean reference and atomically sets it to true only if the monitor is successfully entered. *
You can use the Thread.Yield method to have the calling thread yield execution to another thread that is ready to run on the current processor. *
The System.Guid structure now contains the TryParse and TryParseExact methods. *
The new Microsoft.Win32.RegistryOptions enumeration lets you specify a volatile registry key that does not persist after the computer restarts. *
Registry keys are no longer restricted to a maximum length of 255 characters.
8:57 PM |
| Powered by web analytics software. |