C#.NET

Microsoft Enterprise Library 6–Released

April 28, 2013 .NET, .NET Framework, .NET Framework 4.5, ASP.NET, ASP.NET 4.5, C#.NET, Enterprise Library, KnowledgeBase, Microsoft, Microsoft SDKs, Patterns&Practices, VisualStudio, VS2010, VS2012 No comments

Microsoft has released the version 6.0 of their Microsoft Enterprise Library collection. Microsoft Enterprise Library is a collection of reusable components to meet your needs in developing enterprise applications using .NET technologies.

Quoting from Microsoft
Microsoft Enterprise Library is a collection of reusable application blocks designed to assist software developers with common enterprise development challenges. This release includes: Data Access Block, Exception Handling Block, Logging Block, Policy Injection Block, Semantic Logging Block, Transient Fault Handling Block, Validation Block, and Unity.

This major release of Enterprise Library contains many compelling new features and updates that will make developers and IT professionals more productive. Two new application blocks are:

  • Semantic Logging Application Block
  • Transient Fault Handling Application Block (this application block was previously a part of the Enterprise Library Integration Pack for Windows Azure; in this release it has been generalized and updated to the latest technologies)

Other major new features include:

  • New programmatic configuration that doesn’t require a container
  • AsynchronousTraceListenerWrapper for the Logging Application Block, which enables existing listeners to write messages asynchronously
  • JSON formatter for the Logging Application Block.

New Unity Application Block includes many improvements:

  • Registration by convention
  • Support for NetCore (Windows Store apps)
  • Resolving objects of type Lazy<T>
  • The Unity assembly is now Security Transparent
  • Support for ASP.NET MVC and ASP.NET Web API

The detailed list of all changes is included in the Release Notes.

DOWNLOAD Microsoft Enterprise Library v6.0 Binaries

This download contains the following packages:

EnterpriseLibrary6-binaries.exe 1.0 MB  DOWNLOAD

EnterpriseLibrary6-source.exe 7.5 MB   DOWNLOAD

Microsoft.Practices.EnterpriseLibrary.ConfigConsoleV6.vsix  726 KB   DOWNLOAD   ( Visual Studio plugin extension)

SemanticLogging-service.exe 1.0 MB   DOWNLOAD

Introduction to The One ASP.NET Platform/Ecosystem

December 25, 2012 .NET, .NET Framework, .NET Framework 4.5, ADO.NET, All, ASP.NET, ASP.NET 4.5, ASP.NET AJAX, ASP.NET MVC, ASP.NET MVP, C#.NET, Community, HTML, HTML5, IIS, JavaScript, JavaScript, jQuery, JQuery Mobile, KnowledgeBase, LINQ, Microsoft, MSDN, SignalR, Updates, VB.NET, VisualStudio, VS2012, WCF, Web, Web API No comments

Introduction

ASP.NET has travelled a long way through evolutions. Earlier when ASP.NET 1.0 was released as part of .NET Framework 1.0 in Jan 2002, there was only ASP.NET – a framework for building dynamic web applications and it provided lots of flexibility web developers in building robust, dynamic web applications.  ASP.NET was and is the successor to Microsoft’s Active Server Pages (ASP) technology.

ASP.NET is built on the Common Language Runtime (CLR), allowing programmers to write ASP.NET code using any supported .NET language. The ASP.NET SOAP extension framework allows ASP.NET components to process SOAP messages.

From that, today we reached ASP.NET 4.5 and platform/web framework has changed a lot through the 10 years of journey.

Before going further lets go through a quick summery of additions in each releases:

ASP.NET 1.0 (January 16, 2002)

  • Object-oriented Web application development supporting inheritance, polymorphism and other standard OOP features
  • Support for generic HTML controls and ASP.NET dynamic web controls
  • Event based programming
  • The developer can make use of DLL class libraries and other features of the Web server to build more robust applications that do more than simply rendering HTML.
  • Integrated development support using Visual Studio .Net 2002

ASP.NET 1.1 (April 24, 2003)

  • With ASP.NET 1.1 – an update to .NET framework 1.0 called as .Net framework 1.1 – we received support for Mobile Web Controls, Automatic input validation
  • Integrated development support using Visual Studio .Net 2003

ASP.NET 2.0 (November 7, 2005)

ASP.NET 2.0 introduced major updates to ASP.NET framework with introduction of Master pages and new data controls.

The interesting features included in this release were:

  • Integrated development support using Visual Studio 2005
  • New data controls (GridView, FormView, DetailsView)
  • New technique for declarative data access (SqlDataSource, ObjectDataSource, XmlDataSource controls)
  • Navigation controls
  • Master pages
  • Login controls
  • Themes
  • Skins
  • Web parts
  • Personalization services
  • Full pre-compilation
  • New localization technique
  • Support for 64-bit processors
  • Provider class model
  • Web Sites projects are introduced. An alternative to Web Application project model in earlier versions.
  • ASP.NET AJAX has been introduced as a separate installer. Included ScriptManager, UpdatePanel etc.

ASP.NET 3.5 (November 19, 2007)

This was an incremental update to ASP.NET 2.0 and .NET Framework 2.0. Base level the Runtime was depending on .NET Framework 2.0 and set of additional runtime extension components been introduced in this release.

The interesting features included in this release were:

  • Integrated development support using Visual Studio 2008
  • New data controls (ListView, DataPager, LinqDataSource)
  • ASP.NET AJAX included as part of the framework
  • Support for HTTP pipelining and syndication feeds.
  • WCF support for RSS, JSON, POX and Partial Trust
  • All the .NET Framework 3.5 changes, like LINQ etc.

With .NET Framework 3.5 Service Pack 1, some more features been introduced

  • Integrated development support using Visual Studio 2008 – Service Pack 1
  • Incorporation of ASP.NET Dynamic Data
  • Entity Framework support
  • Support for controlling browser history in an ASP.NET AJAX application
  • Ability to combine multiple JavaScript files into one file for more efficient downloading
  • New namespaces System.Web.Abstractions and System.Web.Routing
  • JQuery is included as part of the template.
  • ASP.NET MVC is born

Now ASP.NET framework is spitted in to three based on the purpose

ASP.NET Core Services – all the major ASP.NET runtime components has been built in to this and will act as a base layer for all other ASP.NET components such as Web Forms, MVC, Dynamic Data etc.

Now we have three Presentation Frameworks/Components that utilizes the ASP.NET Core runtime components

  1. ASP.NET Web Forms – based on traditional ASP.NET web application model – dynamic *.aspx pages with code behind file.
  2. ASP.NET MVC – based on MVC model – *.aspx pages for View, no code behind file. Simply depended on Controller and model.
  3. ASP.NET Dynamic data – the quick and easy – rapid application development model with help of LINQ and Entity Framework. ASP.NET Dynamic Data helps you quickly build a fully customizable, data-driven application without writing code. Dynamic Data provides a rich scaffolding framework that is easily extensible by using the traditional ASP.NET programming model.

ASP.NET 4.0 (April 12, 2010)

The .NET Framework version 4 includes enhancements for ASP.NET 4 in targeted areas. Visual Studio 2010 and Microsoft Visual Web Developer Express also include enhancements and new features for improved Web development.

The interesting features included in this release were:

  • Integrated development support using Visual Studio 2010
  • jQuery Included with Web Forms and MVC
  • Content Delivery Network Support
  • Setting Meta Tags with the Page.MetaKeywords and Page.MetaDescription Properties
  • ASP.NET MVC 3.0 with Web Pages and razor support
  • IISExpress Support through Service Pack1
  • and more… You can read about it in detail on the MSDN page What’s New in ASP.NET 4 and Visual Web Developer

 

ASP.NET 4.5 (August 15, 2012)

This was a long awaited release since ASP.NET 4.0, which includes the new improved support for Web Pages, MVC and new Web API support. With the release of .NET Framework 4.5 and Visual Studio 2012, decided to go away from Service Packs and release incremental updates whenever available.

The interesting features included in this release were:

  • Async support – HttpRequest, Response, HTTP Modules and Handlers are capable of handling Async request and responses.
  • AntiXSS library is integrated
  • WebSockets protocol support
  • Lazy request validation
  • ASP.NET Web Forms – Model binding similar to ASP.NET MVC
  • HTML5 support
  • ASP.NET MVC 4, Web Pages 2.0, Web API, ASP.NET MVC 4 – Mobile Web Templates using jQuery Mobile
  • and more… You can read about it in detail on the MSDN page What’s New in ASP.NET 4.5 and Visual Web Developer

ASP.NET and Web Tools 2012.2 update

This .2 update adds a number of new templates and features including:

  • Enhancements to Web Publishing
  • New Web API functionality
  • New templates for Facebook Application and Single Page Application
  • Real-time communication via ASP.NET SignalR
  • Extensionless Web Forms via ASP.NET Friendly URLs
  • Support for the new Windows Azure Authentication
  • and more… You can read about it in detail on the MSDN page What’s New in ASP.NET and Web Tools 2012.2 Update

SignalR

SignalR is a new member of the ASP.NET family that facilitates adding real-time functionality to web applications using WebSockets and other down-level transports. SignalR is a self-contained library installed via NuGet that is targeting a 1.0 RTW as part of the Fall Update. This will include item templates for adding SignalR connections and hubs to an ASP.NET application as well as a full project template that integrates with ASP.NET MVC and ASP.NET Web API.

[ Quoted from http://aspnet.codeplex.com  ]

THE ONE ASP.NET PLATFORM

Now the ASP.NET ecosystem would look as in the image, with 2012.2 release: Single platform – multiple, extensible solutions

All the parts of ASP.NET, all the subsystems are all part of the larger ASP.NET community 

[Image courtesy Scott Hanselman’s blog]

Scott Hanselman of Microsoft Quotes:

The idea behind One ASP.NET is that we want folks to be able to make apps that have real-time components with SignalR, clean, simple APIs with Web API, all in one pages with KnockoutJS, pages with MVC, Web Forms or Web Pages, as well as existing ASP.NET systems like OData, ASMX, and more.

We want open source projects like JSON.NET, KnockoutJS, SignalR, Backbone, MongoDB, Scaffolding, NHIbernate, Ninject (and the list goes on) to all play in the same ASP.NET LEGO sandbox.

We’ll put all these subcomponents on NuGet and they’ll live alongside community components and you’ll be able to build ASP.NET applications starting from some base template and add just the pieces you want. We are getting there. We want folks to use the parts they want, and swap out the parts they don’t. Everything should work together.

ScottGu Quotes
The new runtime functionality is delivered to ASP.NET via additional NuGet packages. This means that installing this update does not make any changes to the existing ASP.NET binaries, and thus does not cause any compatibility issues with existing projects. New projects will contain the new functionality and existing projects can be updated with the new NuGet packages.

You can further read about it through Scott Hanselman’s article and ScottGu’s blog 
 

Conclusion

Now with ASP.NET 4.5 and Updates we reached a place where we have a vast variety of technologies to choose from, to develop rich, dynamic web applications for Desktop browsers as well as for mobile browsers.

ASP.NET Ecosystem is growing and is moving in the right pace with the release to open source development of most of the components through http://aspnet.codeplex.com/ 

It is challenging and interesting for ASP.NET developers to be able to develop using such cutting edge technologies.

Information Sources & Courtesy: Wikipedia, MSDN and Microsoft Developer blogs

WP8 Developer Series–Getting to know Common API’s for Windows Phone 8 and Windows 8

November 4, 2012 .NET, .NET Framework, .NET Framework 4.5, All, C#.NET, Community, KnowledgeBase, Microsoft, Microsoft SDKs, Mobile-Development, MSDN, Portable Class Library, VisualStudio, VS2012, Windows, Windows 8, Windows 8 apps development, Windows Phone, Windows Phone 7.1 SDK, Windows Phone 8, Windows Phone 8.0 SDK, Windows Phone Development, Windows Phone SDK, Windows Store Development 2 comments

WindowsPhone8.svg Windows 8 logo and wordmark.svg

 

[ Windows 8 and Windows Phone 8 logos are trademarks of Microsoft ]

Windows Phone 8 is the second generation of the Windows Phone mobile operating system by Microsoft, officially announced the release to manufacture on 29th OCT 2012. Previous Windows Phone versions were all based on old CE kernel and with Windows Phone 8 – Microsoft made sure to shift the focus to a better kernel which can handle multi-core processing capabilities. That why Microsoft has choose Windows NT based kernel as the base kernel for Windows Phone 8.

Windows 8 and Windows Phone 8 are sharing same core level technology(from kernel to networking and driver support, all of that will be common on Windows 8 and Windows Phone 8), Microsoft calls it ‘Shared Core’. Windows Phone 8 will include more features aimed at the enterprise market, such as device management, BitLocker encryption (which is already included part of Windows 8), to facilitate all these common features – that is where ‘Shared Core’ comes in to picture.

If you would like to know further about Shared Core – suggest going through Joe Belfiore’s video

Having a Shared Core will save lots of development time – if we are targeting for both the platforms (Windows 8 and Windows Phone 8), that is where Microsoft has done the magic. Microsoft has made sure that development will be lot easier if you can leverage the same code base for both Windows and Windows Phone 8, with minor changes. This is really a good move as a Unified platform.

Developing Applications for Windows Phone 8 and Windows 8

Windows Phone 8 and Windows 8 share the same .NET Framework engine.You can leverage the same .NET engine in your XAML apps for Windows Phone 8 and Windows 8, and use sharing techniques to maximize code reuse for these apps on both platforms.

Now we will try to familiarize with common API’s on both platform which can save our time while developing applications targeting both.

Following part’s of this article is prepared based on the Original MSDN Source – Windows Phone 8 and Windows 8 platform comparison

1. Common Native API’s

As a Windows Phone developer now you can develop Games in C++  using new Windows 8 aligned Direct3D application model.

The set of native APIs that are common to Windows Phone 8 and Windows 8 are listed below:

  • DirectX 11.1
  • XAudio2
  • MediaEngine
  • STL
  • CRT
  • WinSock

Additional references:

2. Common Windows Runtime API’s

Windows Runtime is a technology first introduced in Windows 8 and which offers a core infrastructure, a common type system, and a standard programming model.

It is firat implemented in C++ and ported into C#, VB, C++, and JavaScript, so it is easy to consume with the language of your choice.

  • A subset of Windows Runtime is built natively into Windows Phone 8, with the functionality exposed to all supported languages.
  • This gives you the ability to use the same API for common tasks such as networking, working with sensors, processing location data, and implementing in-app purchase.
  • By using common Windows Runtime API in your app, you increase the potential to share code between your Windows Phone 8 and Windows Store apps to save time and improve the maintainability of your apps over time.

[Source – msdn]

The following list is the Windows Runtime APIs that are common to both platforms:

  • Networking
  • Sensors
  • Proximity
  • Storage
  • DataSaver/Connection Manager
  • Location
  • Touch
  • Online Identity
  • Keyboard
  • Launchers & Choosers
  • In-App Purchase
  • Sensors
  • Threading
  • Base Types/ Windows.Foundation

3. Similar UI Controls

Between Windows Phone 8 and Windows 8 XAML controls you will see lots of similarities. Same control name, class name etc – this makes the use of same code and controls on both the platforms. Developers will be familiar with both the platforms, and do not have to spend much time in porting from one to another.

  • The set of controls available on Windows Phone 8 is available in the System.Windows.Controls namespace.
  • The set of controls used on Windows 8 is in the Windows.UI.Xaml.Controls namespace.

You may read further about it on: XAML controls comparison between Windows Phone 8 and Windows 8.

4. Shared Engine

Windows 8 and Windows Phone 8 shares the same .NET Framework engine. You can leverage the same .NET engine in your XAML apps for Windows Phone 8 and Windows 8, and use sharing techniques to maximize code reuse for these apps on both platforms.

For more info, see .NET API for Windows Phone.

[ Content Source – msdn on Windows Phone 8 and Windows 8 platform comparison ]

 

Recommended Reads:

Concepts and architecture for Windows Phone

Maximize code reuse between Windows Phone 8 and Windows 8

XAML for Windows Phone

Learn about Windows Store app development

Learn about Developing apps for Windows Phone

XAML controls comparison between Windows Phone 8 and Windows 8.

What’s new in Windows Phone SDK 8.0

Develop Windows Store apps using Visual Studio 2012.

New Update for ASP.NET & Visual Studio 2012 – Microsoft ASP.NET Fall 2012 Update BUILD Prerelease

November 2, 2012 .NET, .NET Framework, .NET Framework 4.5, All, ASP.NET 4.5, ASP.NET MVC, C#.NET, Community, HotFixes, KnowledgeBase, Microsoft, MSDN, SignalR, Updates, VisualStudio, VS2012, Web API No comments

A new prerelease update for Microsoft ASP.NET 4.5 has been introduced for Visual Studio 2012 and Visual Studio Express for WEB.

This release updates Visual Studio 2012 with a prerelease update to ASP.NET. Features and updates:

  • Enhanced Website publishing
  • New ASP.NET MVC Templates for Facebook applications and Single Page Application using knockout.js and ASP.NET Web API
  • ASP.NET Web API enhanced with new features:
    • ASP.NET Web API OData gives you the flexibility you need to build OData endpoints.
    • ASP.NET Web API Tracing integrates tracing data from your web APIs with .NET Tracing.
    • ASP.NET Web API Help Page automatically generates documentation for web APIs including the HTTP endpoints, the supported HTTP methods, parameters and example request and response message payloads.
  • Windows Azure Authentication makes it simple to enable authentication for web applications hosted on Windows Azure using Windows Azure Active Directory.
  • ASP.NET SignalR is an async signaling library for .NET to help build real-time, multi-user interactive web applications.
  • ASP.NET Friendly URLs makes it very easy for webforms developers to generate cleaner looking URLs(without .aspx extension).

For more information about using this release, please see the ASP.NET Fall 2012 Update Release Notes.

DOWNLOAD:

Download and Try – Microsoft ASP.NET Fall 2012 Update BUILD Prerelease

NB: This is a pre-release software, not a final version and not intended to use in Production environments.

Information Courtesy: Microsoft Download Center

Download Windows Phone SDK 8.0 Final (Online and Offline standalone Installer)

October 31, 2012 .NET, All, C#.NET, Community, Microsoft, Microsoft SDKs, MSDN, Silverlight, VisualStudio, VS2012, Windows, Windows Phone, Windows Phone 7.5, Windows Phone 8, Windows Phone 8.0 SDK, Windows Phone Development, Windows Phone SDK, WinJS 7 comments

Microsoft has announced the release to manufacturing(RTM) for Windows Phone 8 on 29th OCT 2012 and as announced on the sameday – Microsoft has released Windows Phone 8 SDK for developers on 30th OCT 2012.

The Windows Phone SDK 8.0 is a full-featured development environment to use for building apps and games for Windows Phone 8.0 and Windows Phone 7.5.

  • The Windows Phone SDK provides a stand-alone Visual Studio Express 2012 edition for Windows Phone or works as an add-in to Visual Studio 2012 Professional, Premium or Ultimate editions.
  • With the SDK, you can use your existing programming skills and code to build managed or native code apps. In addition, the SDK includes multiple emulators and additional tools for profiling and testing your Windows Phone app under real-world conditions.

System Requirements:

Operating System: Windows 8, Windows 8 PRO/ENTERPRISE

CPU – 64bit Processor with Virtualization support required.

If you are a Windows Phone developer, you can download the new SDK from the below links:

DOWNLOAD:

Windows Phone SDK – Online Installer (packages will be downloaded while installing – *requires Internet Connection)

OR

Windows Phone SDK – Offline Standalone Installer (FULL ISO DVD Image – 1.6 GB)

Note: this release is also available in .iso format. Choose one of the following options for handling downloaded ISO images:

  • (Recommended) Write the image file to a blank DVD.
  • (Alternative) Mount the image file virtually as DVD devices.

For Windows Phone SDK 8.0 documentation and samples, see the Windows Phone Dev Center.

Source and additional references: Windows Phone Dev Center & Microsoft Download Center

imageimage

Windows Phone Design Guidelines

Windows Phone Developer Guidelines 

Windows Phone Publisher Guidelines

Windows Phone Community

Zip(Archive) API’s in .NET Framework 4.5 – Part 2 – ZipFile Class

October 22, 2012 .NET, .NET Framework, .NET Framework 4.5, All, Back-2-Bascis, BCL(Base Class Library), C#.NET, Codes, CodeSnippets, DevLabs, Foundations, Help Articles, KnowledgeBase, Microsoft, Updates, VB.NET, VisualStudio, VS2012, Windows No comments

In my previous post I shared some information on API’s/Classes included as part of System.IO.Compression namespace in .NET Framework 4.5, and given on overview of ZipArchive class. Once such class I would be sharing some insight with post today would be ‘ZipFile‘ class. The ZipFile class provides convenient static methods for working with zip archives:

  1. CreateFromDirectory (3 overloads) – Creates a zip archive that contains the files and directories from the specified directory, uses the specified compression level and character encoding for entry names, and optionally includes the base directory.
  2. ExtractToDirectory ( 3 overloads) – Extracts all the files in the specified zip archive to a directory on the file system and uses the specified character encoding for entry names.
  3. Open (2 overloads) – Opens a zip archive at the specified path, in the specified mode, and by using the specified character encoding for entry names.
  4. OpenRead  – Opens a zip archive for reading at the specified path.

 

To use these methods, you must reference the System.IO.Compression.FileSystem assembly in your project.

image

NB:

  • The System.IO.Compression.FileSystem assembly is not available for Windows Store apps. Therefore, the ZipFile class and ZipFileExtensions class (which is also in the System.IO.Compression.FileSystem assembly) are not available in Windows Store apps.
  • In Windows Store apps, you work with compressed files by using the methods in the ZipArchive, ZipArchiveEntry, DeflateStream, and GZipStream classes.

 

Now the time for creating some sample application.

For the purpose of explaining how to use the above methods – I followed the below steps :

  1. Created a console application in visual studio.
  2. Added Reference to System.IO.Compression and System.IO.Compression.FileSystem assemblies which is part of .NET Framework 4.5.
  3. Created a folder called “Files” and created some plain text files(.txt extension) , this would be out source folder to zip. And created two additional folder for storing zip files(Output) and ExtractLocation folder to extract the zip files.
  4.  image image
  5. and the below sample code snippet is the implementation/usage.
<code>&lt;p&gt;Sample code snippet:&lt;/p&gt; &lt;div&gt; &lt;pre class="brush: c#;"&gt;
</code>

namespace ConsoleApp02
{
class Program
{
static void Main(string[] args)
{
// AppDomain.CurrentDomain.BaseDirectory refers to the
//folder in which the executable or binaries are executing.
// E.g. ConsoleApp02ConsoleApp02binDebug
string startPath = AppDomain.CurrentDomain.BaseDirectory + "\Files";
string zipPath = AppDomain.CurrentDomain.BaseDirectory + "\Output";
string zipFilePath = zipPath + "\" + System.Guid.NewGuid().ToString() + ".zip";

<code>        string extractPath = AppDomain.CurrentDomain.BaseDirectory + &amp;quot;\ExtractLocation&amp;quot;;

        //just a fail-safe to create folders if not exists.
        if (!Directory.Exists(zipFilePath))
            Directory.CreateDirectory(zipFilePath);

        if (!Directory.Exists(extractPath))
            Directory.CreateDirectory(extractPath);

        //Creating a zipFile from folder
        ZipFile.CreateFromDirectory(startPath, zipFilePath);

        //Unzipping a zipFile to a folder
        ZipFile.ExtractToDirectory(zipFilePath, extractPath);

        //
        Console.WriteLine(&amp;quot;Press Any key to exit...&amp;quot;);

        Console.ReadKey();
    }
}
</code>

}

Hope this post is informative. Please keep share this post and give your comments/feedback. Happy coding!