Sunday 22 December 2013

Azure Coming Right Along on Hybrid Cloud Path

A consistent increase is noted in the number of enterprises investing in hybrid cloud technology to avail a number of benefits. In addition to being flexible, low cost and easy-to-control, the hybrid Cloud platforms also offer the security benefits of the conventional on-premises platforms. A number of reports have highlighted a steady increase in the popularity of Windows Azure for building hybrid solutions. According to a report posted on Bloomberg, “The sales milestone for Azure -- which stores business information and programs on remote servers and lets customers access them over the Web -- was reached in the past 12 months, said Curt Anderson, finance chief for Microsoft’s server and tools unit.” These figures clearly indicate that Azure is coming right along on hybrid cloud path, along giving stiff competition to Amazon.

What Makes Azure a Force to Reckon with in the World of Cloud Computing

asp.net web development, hire asp.net developers, asp.net application development
1) Loads of Open Source Applications: Microsoft has collaborated with a large open source community to develop a variety of applications for Azure. The collaboration resulted in large number of open source languages, applications and frameworks available for this technology. Each enterprise needs customized applications and tools to smoothly migrate to cloud computing. So these applications make it easier for businesses to adopt Windows Azure without hiring skilled developers. At the same time, the open source community further provides several technologies to help programmers in building hybrid application on Windows Azure.

2) Compatible with Multiple Technologies: The popularity of a cloud computing technology also depends on its compatibility with conventional on-premises platforms. The Java, PHP, .NET, Python and Node.js developers can easily avail the Windows Azure services simply by using the free SDK for these languages. Similarly, the developers working with other programming languages can avail Windows Azure services by using several established and emerging standards like HTTP, REST, OData and AMQP. The support for a large number of programming languages and standards make Azure popular for businesses of all sizes.

3) Support for Windows Server 2012 R2: Microsoft has released Windows Server 2012 R2 with loads of innovative and enhanced features. The update to Windows Server is also supported on the Windows Azure. So the users now have option to launch their own Windows Server 2012 R2 instance by availing the hybrid cloud computing services. A user can simply create a new Windows Server 2012 R2 instance by choosing New->Compute->Virtual Machine within the Windows Azure Management Portal. Also, he can use the Quick Create options to create a new Virtual Machine. The seamless integration of Windows Server 2012 R2 and Azure will encourage many enterprises to simultaneously adopt the updated version of Windows Server and cloud computing.

4) Expanded Support for Linux: In addition to Windows Server 2012 R2, Microsoft has further updated Windows Azure with extended support for Linux. Thus, Azure now has both IaaS and PaaS capabilities to support all operating systems and development platforms. These capabilities further enable developers to use robust hybrid applications by using technologies like Ubuntu 12.04, OpenSuse 12.1, CentOS 6.2, and Suse Linux Enterprise 11 SP2. The updated Windows Azure SDK released by Microsoft also includes command-line tools for developers working on Mac or Linux. At the same time, the programmers can also avail MongoDB integration, Eclipse plug-in for Java and Memcached using non-.Net languages. The support for non-Microsoft technologies will make Azure popular from all developers regardless of their choice of programming language and platform.

5) Lucrative Offers and Price Cuts: Microsoft has already launched a comprehensive marketing campaign to enhance the market share of Windows Azure in the cloud computing industry. According to an AssociationsNow report, “Microsoft announced a broader offering for Windows Azure in an effort to compete with Amazon. The platform will now offer service-level agreements for guaranteed 99.95 percent uptime and 24/7 support. The servers are also getting a boost and can now have as much as 56 gigabytes of memory. With the enhanced offering, Microsoft will also try to match Amazon’s prices on its most popular services, leading to price cuts of 21 percent to 33 percent. That move could take away one of Amazon’s biggest advantages.”

However, an enterprise has to consider several factors before migrating to Azure. But it can always avail the Windows Azure software and related programs provided by Microsoft to make the transition quick and hassle-free. This would help leverage the benefits of asp.net web development.

We provide asp.net application development services. We are glad to share that all our .NET developers hold Microsoft certifications of different levels. If you would like to hire asp.net developers from us, we would be glad to assist you at Mindfire Solutions.

Friday 20 December 2013

Interesting, and Open Source - Overview of Features of WebAPI 2

Microsoft has released Visual Studio 2013 with a set of innovative features and enhancements. Along with a single UI to access multiple ASP.NET frameworks, smart options to sync information and data to Cloud, and social authenticator, the upgraded version of Visual Studio also comes with a completely revamped WebAPI 2. The second version of ASP.NET WebAPI also comes with a set of features to complement the latest trends in web development. If you are planning to migrate to Visual Studio 2013, it is time to understand some of these new and exciting features.

5 Exciting New Features in ASP.NET WebAPI 2

.net application development, .net development india, .Net web developer
1) Attribute Routing: The WebAPI 2 supports both conventional and attribute routing. While using convention routing, programmers are required to define multiple route templates. So each user request is matched against a predefined route template, and then the route template forwards the specific controller action. On the other hand, the routing approach enables programmers to define multiple routing templates at a common location for specific URI patterns. But each developer has to write lengthy code earlier to support the routing templates. The innovative attribute routing feature in ASP.NET WebAPI 2 now enables programmers to support the complex URI pattern without writing any lengthy and complex coding.

2) Open Web Interface for .NET (OWIN) Self Hosting: The WebAPI 2 also comes with a fresh self-hosting package called Microsoft.AspNet.WebApi. OwinSelfHost. OWIN provides a standard interface to facilitate efficient interaction between .NET web servers and web application. Along with decoupling the web server and application, the interface also aims to encourage programmers to build simple .NET modules by availing the open source .NET web development tools and frameworks. So OWIN provides a more efficient self hosting option in comparison to IIS.

3) IhttpActionResult: The WebAPI allowed programmers to create server response in two distinct ways. They have option to return a specific object instance that will be subsequently changed by the Web API pipeline into an HttpResponseMessage. Also, they have option to return a response directly as a raw HttpResponseMessage without any further processing or conversion. But the second version of WebAPI enables programmers to create the response in a more innovative way through the IHttpActionResult. The IHttpActionResult allow HTTP message to be returned from the controller efficiently, and thus makes it easier for web developers to reuse and test their code.

4) Cross Origin Resource Sharing (CORS): Despite being compliant with W3C standards, most browsers still do not support resource sharing or communication across multiple domains. So developers use the cross origin resource sharing (CORS) mechanism to make an AJAX call to an outside domain that generate the specific web page in actual. In other words, CORS supports cross-domain cells that allow web pages to make an AJAX call to an external domain. The ASP.NET WebAPI 2 makes it easier for programmers to make AJAX calls by supporting cross origin resource sharing.

5) WebAPI Odata: As a web protocol, Open Data Protocol (OData) is used widely for updating and querying data. The ASP.NET WebAPI 2 supports three OData options, i.e., select, expand and value. The Select option can be used to generate response by including a specific property of the entity in the response. But the Expand option allows inclusion of the related entity in the response. At the same time, the Value option allows users to dine the raw value of the property. These three options now enable developers to control the representation returned from the server without putting any extra effort.

Microsoft has further made ASP.NET WebAPI 2 more significant by allowing developers to secure communications, while protecting the sensitive operations and data unexposed. Each .net web developer can simply protect the WebAPI by using ASP.NET tooling and security middleware. At the same time, he also has option to configure the WebAPI projects by using several ASP.NET tools and templates.

We provide .net application development services. If you would like to know more about what makes us the best .net development India provider, please get in touch with us at Mindfire Solutions.

Thursday 19 December 2013

Getting Started with AJAX in MVC Framework

The Model-View-Controller (MVC) framework help developers to build a variety of websites and web application by keeping the business logic and application separate. Many developers even explore option to optimize the MVC framework by integrating advanced technologies like AJAX. Microsoft has updated ASP.NET by incorporating a MVC approach. Once a programmer installed the latest version of ASP.NET MVC 2 framework, he can easily keep the business logic and application separate, while facilitating efficient testing. At the same time, the he can follow simple steps to getting started with AJAX in ASP.NET MVC framework.

Steps to Getting Started with AJAX in ASP.NET MVC Framework

.Net web developer, asp.net application development, asp.net developers
1) Create the MVC Project: You have to start by creating a new ASP.NET MVC project. Click on the New Project option from the File menu. In the New Project dialog box, expand the project type, and choose Visual Basic or Visual C#, and then click on the Web. Now select the ASP.NET MVC Web Application from Visual Studio installed templates, and type MvcAjaxApplication in the Name box. Finally, enter the name of your project in the Location box, and select Create directory for solution. However, you also need to ensure that no unit test project is created during the initial process.

2) Access the ASP.NET AJAX Script Libraries: After generating the project, you have to enable client functionality of ASP.NET AJAX by using two script libraries, i.e., MicrosoftAjax.js and MicrosoftMvcAjax.js. You can visit the project's Scripts folder to find the debug and release version of each script library. However, you have to add library references to the MVC views before accessing the script libraries in client script of your project. The ASP.NET AJAX script library can be referenced by expanding the Views folder in Solution Explorer, and then expanding the Shared Folder. Now open the Site.Master file by double-clicking on the option. Finally, you have to add the markup at the end of the head element.

3) Add Action Methods to the Home Controller Class: After referencing to the script libraries, you have to add two action methods which can be called from the client script in a synchronous manner. The GetStatus method simply returns the current time, along with the OK status. But the GetStatus method is effective in receiving input from users through HTML forms, and returns a message along with the current time. You can add these two action methods to the Home Controller class by expanding the Controllers folder in Solution Explorer, the double-clicking on the Home Controller class option. Finally, you have to write the code after the About method to define each function.

4) Redefine the Index Page: When you use Visual Studio, it automatically creates and adds an Index page to the ASP.NET MVC project. So you also need to replace the content of Index page. The redefined Index.aspx will display the page rendition time that will act as a status message linked to the asynchronously updates messages and input submitted as a text string. Go to the Solution Explorer; expand the Views folder and then the Home folder to open the index view. Now you have to replace the existing content of the Content control by entering fresh markup.

5) Test the Web Application: Finally, you have to run the project to test the application’s performance. Press Control+F5 to run the MVC application. The page will show its rendition time. Now click on the Update Status link to refresh the page. You can now see the status message with an updated rendition time. You can even submit information through a web form, and check the status message to understand how the data are processed.

Microsoft has further updated Visual Studio 2013 with a set of enhancements to enable users to access web forms, web API and MVC using a single UI. However, each .net web developer must consider several factors before using MVC pattern for websites. Similarly, he has to make a comprehensive plan to optimize the usage of AJAX in ASP.NET MVC framework.

We provide asp.net application development services. If you would like to get your application developed by our certified asp.net developers, please contact us at Mindfire Solutions.

Wednesday 18 December 2013

Visual Studio 2013 Web Editor Features - Page Inspector

Microsoft has launched Visual Studio 2012 with several enhancements to meet the frequently changing trends in web development. Along with enhanced support for HTML5, CSS and JavaScript, the latest version of Visual Studio also comes with innovative features like project sharing and Page Inspector. According to MSDN.Microsoft.com, “Page Inspector brings browser diagnostics tools directly into Visual Studio. By doing so, it provides an integrated experience from the browser to ASP.NET and right to the source code. It does all of this with minimal setup.” With the innovative feature, Microsoft has incorporated browser diagnostic tools in the updated version of Visual Studio. The programmers can launch the feature simply by right-clicking on the page they want to view, and then selecting the View the Page Inspector.

Features that Make Page Inspector Exciting and Powerful

.Net web developer, asp.net application development, asp.net developers
1. IE Developer Tools: Page Inspector comes with a set of developer tools from the Internet Explorer (IE). So it enables developers to avail enhanced navigation capabilities without any additional searching and guess work. While debugging an application inside Visual Studio, they now have option to view both HTML and CSS view of the same page. The several views of the same page makes it easier for programmers to save the amount of time and effort required to test the effectiveness of their coding.

2. Server Side File View: The view of a web page is impacted by several features. In addition to HTML and CSS, the rendering of a specific page is also impacted by server side files. For instance, a page may be rendered by combining partial outputs of both client-side and server-side scripting. Therefore, developers often have to check these input files while debugging or reviewing an application. Page Inspector makes it easier for programmers to access the server side input files that render a specific page. Further, any changes made to these files will be displayed on the browser automatically to all reviewers.

3. Inspecting HTML and CSS: Along with the performance and efficiency of a web application, developers are also required to optimize its look and feel. So the HTML and CSS of the page must be checked regularly to identify and fix the issues with the coding. Page Inspector simplifies the process of identifying and inspecting the HTML and CSS of a page. Similar to the server side files, a programmer can avail the feature to inspect the HTML and CSS of a web page. The option also makes it easier to fix the CSS issues in an instance during the development stage.

4. Inspection Mode: Most developers find it challenging to debug an application that is designed with complicated page hierarchies. They also have to put both time and effort to identify and fix the issues related to page rendition or page layout. The inspection mode in Page Inspector enables programmers to debug the applications rapidly despite having complicated page hierarchies. At the same time, the introspection mode in Page Inspector keeps track of mouse hover over each HTML element, and subsequently connects the issue to the specific serve side page responsible for this markup. It further opens the VBHTML or CSHTML page, along with highlighting the specific section. These modes make developers more productive without requiring them to put any extra effort to debug the applications with complicated page hierarchies.

Each .net web developer also has option to set Page Inspector as the default web browser for a project, and simply press F5 to get it executed by the application. It will further allow users to avail full functionality of a web browser using the IE browser engine, while running within the Visual Studio environment.

We provide asp.net application development services. If you would like to get your application developed by our certified asp.net developers, please contact us at Mindfire Solutions.

Tuesday 10 December 2013

What is New in ASPdotNET and Web Tools for Visual Studio 2013?

Microsoft frequently updates Visual Studio by incorporating new features to meet the latest trends in web development. The updated version of Visual Studio 2013 was recently launched by Microsoft with a set of major enhancement including ASPNET and web tools. Along with a new HTML editor and Azure website tooling with Azure SDK 2.1, the updated version of Visual Studio 2013 also comes with Entity Framework 6.0.0, ASP.NET MVC 5, ASP.NET SignalR and ASP.NET Identity. These features aim to optimize the pace of website and web application development, in addition to making it easier for developers to build robust mobile applications.

New Features of ASP.NET and Web Tools for Visual Studio 2013

.net application development, asp.net development services, .Net web developer
1. A Single UI to Access Multiple ASP.NET Frameworks: The feature enables web application developers to create projects using a single UI that accesses several ASP.NET frameworks including web forms, web API and MVC. At the same time, the programmer can now use some of the features like multiple authentication configurations and automatic test project creation for ASPNET that were earlier available only for MVC. They also have options to choose from several authentication configurations that work seamlessly in various hosting environments while supporting all ASPNET frameworks. The feature will surely reduce the amount of time required to build complex web application by using multiple ASP.NET frameworks.

2. Browser Link to Simultaneously Refresh Multiple Browsers: The Visual Studio 2013 also comes with a new feature called Browser Link that allows programmers to directly refresh multiple web browsers simply by clicking a button. The option makes it easier for developers to save the time and effort required for opening, closing and refreshing individual browsers. The users can now edit markup and code, and then press Control+F5 to run the code in browser. Further, they can simply click on the Browser Link Refresh button refresh the output being displayed on the browser. Also, the button can be used to refresh multiple browsers connected to a specific development site at a time.

3. New Editor to Access both HTML and Razor Files: The updated version of Visual Studio also comes with a new HTML editor for the HTML and Razor files. Earlier, programmers have to use different editors to access the web forms and user control files. The new editor will enable them to access a single unified HTML5-based schema. Microsoft has further optimized the HTML editor by incorporating improved features like jQueryUI and AngularJS attribute IntelliSense, automatic brace completion, attribute IntelliSense grouping.

4. Tool to Access All Windows Azure Services: Visual Studio 2013 further enables programmers to access smart Azure website tooling simply after installing Windows Azure SDK 2.2. Once the SDK is installed, all Widows Azure services used by the project can be accessed under a single Windows Azure node in Server Explorer. Further, the user can connect to Windows Azure simply by entering his username and password, without downloading and importing a subscription file. At the same time, he also has option to create, stop and start websites directly from the Server Explorer.

5. ASP.NET Identity: Microsoft has further included a new membership system in Visual Studio 2013 for building ASP.NET applications. The membership feature is called ASP.NET identity enables users to control the persistent model of their web applications. It makes it easier for developers to store and access information from both SQL and NoSQL data sources by using Entity Framework Code First to access the data. At the same time, the user also has options to add new tables and membership tables, while modifying the existing one to optimize the web application’s performance.

The enhanced features have made ASPNET more productive, extensible and productive. The developers now have options to avail these improved features to optimize the performance and security of web applications. The combination of existing features and these enhancements will further make it easier for programmers to meet the upcoming trends in .net application development.

We provide asp.net development services. If you would like to discuss with a certified .Net web developer from our team, please get in touch with us at Mindfire Solutions.

Wednesday 27 November 2013

MVC routing just got cleverer

Microsoft has been launching quite a few latest software as well as programs, among which MVC is one. MVC has a lot of unique and special features; among them the routing function is been touted as the best improvement, especially since it has become attribute based. Initially the function of MVC routing was for cleaning of URL semantics of sites that have been built on it. However, now the function as well as importance have changed dramatically, making the entire concept cleverer and more useful.

.net web development, .net application development services, hire .net developers
Many of us have doubts regarding the need of routing. Features like Controllers, Models and Views are deemed as important parts of the application since any application needs user interaction which is handled by controllers. Controller also selects appropriate views to be rendered. The UI or View is used by users when interacting with applications; while the data required for an application is represented by Model. But when we come to routing, we do not see it addressing any concerns like those mentioned.

Traditionally in web applications, a user enters URL in browser maps for location of particular physical file that is mapped to web server's directory which is often called virtual directory. For example when we are using an URL, it refers to products or businesses in question. When you look at the URL you will be able to judge the line of business or category; it is easily discernible as it lists products or services of that category. After displaying that fact subcategories must be added which will display only things related to that topic. For the same, a filter has to be applied on the page so that the user clicking on the hyperlink, gets a unique Id representing that object. This solves the problem of directing him or her to particular categories. Now the user will be able to pinpoint and look at those things that he or she is interested in.

To lend a unique ID if we use numbers there are chances that the user will simply forget the numbers but adding words will be better than numbers as it will be easier to remember. Adding words to URL names them as hackable URL and it is here that routing gives benefits. Routing is very important here as there are no physical files in MVC for better handling of different requests, contrary traditional applications and this routing mechanism helps MVC decide which controller class's action method to be used for execution. There can be no mapping of action method to requests without routing. This MVC architecture's part- routing is supported by default.

Routing enables us to create URLs which are search engine optimized and that too very easily. This is because when using this there are no restrictions regarding fixed URLs which can be easily re-factored so that search engines can discover them easily. Custom routes can be created as well.

Attribute-based routing gives you finer control on the routes of both action and controller levels. Enabling this is a simple task; just take your RegisterRoutes function and add call route .MapMvcAttributes(). You can also add attributes at controller level and this will apply to every action within controller unless you have added some particular route to some action.

You also have the option of doing routing on actions based on constraints. This is quite akin to function overrides as matching of a route will occur if there is matching of data type; if not the request will be transferred to another route which matches the pattern for some supported data type. Multiple constraints can be applied to single route so that precise control can be gained over URLs, routes and actions. You can also use for convention and attribute based ones simultaneously.

You will be able to free URLs from being physically associated with files by implementing this, allowing for plenty of flexibility regarding the interpretation and presentation of URLs in MVC applications. This would help you leverage the benefits of .net web development.

We provide .net application development services. If you would like to hire .net developers from us, we would be glad to assist you at Mindfire Solutions.

Tuesday 26 November 2013

How to Run Windows Azure Technology within Your Own Datacenter

Windows Azure is a brand new application platform introduced by Microsoft for the public cloud. The discussion regarding the running of this brand new technology within the individual data center would be of precisely no value without an understanding of the technology in the very first place. Now, the platform can actually be used for a number of purposes such as building of the web applications that are capable of running as well as storing the data in the respective datacenters. Simple storing of the data also becomes easier with this enterprise-friendly technology. Developers prefer exploring the technology to build highly scalable applications that involve too many users. In fact, the platform is turning out to be of increasing importance primarily by virtue of its wide range of services.

Data Management with the Windows Azure Technology

asp.net application development, .net development services, certified .net developersConsidering the fact that the varying types of applications need equally varying sorts of data, the platform comes up with different ways of storing as well as managing data. The three data management options that the technology offers are SQL database, blobs and tables. To begin with, the SQL database offers all the necessary features of a relational data management system. For users who are looking forward to creating a Windows Azure application, which is, in need of relational storage, the SQL database is indeed a good option.

Tables, on the other hand, are the best options if you are willing to get faster access to a variety of typed data. For instance, if you are creating a consumer application that must be able to store the customer profile information related to every particular user, the Windows Azure Tables will be of special significance. Blobs help in data management in a very unique and effective manner. These are designed for the storage of the unstructured binary data. Further, blobs, very much like Tables, offer reasonable storage facilities. Contents, which are perceived as ordinary Window files by the application, are actually stored in this blob.

Running Azure within Individual DataCenter

The concerned Pack for the server offers a solution for the businesses that are willing to operate as service- providers with the aim of attracting enterprise workloads. The pack runs on the top of the System Center and the Windows Server and delivers the technologies into the datacenter. This paves the way for the richer, multi-tenant cloud accompanied by commendable experiences. Now, the pack is basically a collection of this new technologies. It enables the Microsoft customers to install the pack in enterprise as well as service provider datacenters without incurring any extra cost for the purpose. The datacenters, additionally, are integrated with the server environments of the operating system and the existing system center. The Microsoft cloud OS comes up with the intention of providing customers with a single consistent platform for data, applications and infrastructure.

Thus, using the familiar foundation of the respective server and the system center paves the road to delivering not just enterprise class but also reasonable solutions for the multi-tenant cloud infrastructure services. Both enterprise customers as well as the service- providers are ready to build customizable solutions by means of a desired use of the industry standard hardware, open technologies along with a broad application platform.

Recent attempts are being made to relate SharePoint and Windows Azure technology. It is even considered that the Azure Pack had actually been missing from the apps puzzle of the latest version of SharePoint. However, there is no doubt that the introduction of the Azure technology coupled with the many features that it brings with it has been of immense benefits for the enterprises all over. This would help you leverage the benefits of asp.net application development.

We provide .net development services. If you would like to talk to one of our certified .net developers, please get in touch with us at Mindfire Solutions.

Monday 25 November 2013

How to Implement Two Factor Authentication in MVC with Google Authenticator

These days, more and more websites are providing the option of two factor authentication for your login process. This process allows the authentication of users with the use of two of three authentication factors which are deemed valid. The three valid factors are- something known by the user like PIN, passwords, etc.; something used by the user like ATM card, phone, smart card, RSA keys, etc.; and something like biometric data which includes fingerprints. This two factor authentication has been embraced by quite a few organizations including Dropbox, Hotmail, GitHub and Google, providing this as a security measure that is optional.

asp.net development, .net application development, asp.net developer
In two factor authentication you have to use a combination of at least two factors. Factors like mobiles or RSA keys are best and most common sources used for the generation of one time passwords which is changed over time. For example the code of RSA keys is changed every minute while it is changed by Google Authenticator every 30 seconds. This helps in mitigating chances of attackers intercepting the web traffic. The software based Google Authenticator is an authentication token based on two factors as is apparent from the name itself. This is available on Blackberry, iOS and Android operating systems. A 6 digit counter or time based number is provided by it which acts as 2nd factor for the authentication.

Now Google Authenticator works by implementing algorithms defined in RFC 6238 which is time-based implementation of the authentication process and RFC 4226 which is counter-based one. The user and the server have to agree on some secret key that will be used as seed value for hashing function. This key can be typed by the user in Google Authenticator or QR code can be used for the automatic setting up of the application. Then any of the algorithms are used by Authenticator and a code is generated for the entering during the process. The very same algorithm as well as secret key is then used by the server for the checking of the code. After agreeing on the secret key, the application generates a 6 digit key which will be the sole data which will be passing between the server and client, without the data passing through servers of Google.

Generation of one-time passwords requires three types of information- counter number, the output's number of digits which are limited to 6 as well as the secret key. For the generation iteration number has to be converted to byte[]. With every authentication success iteration number will be incremented on server and client. Hashing method can be used for that and this hash has to be computed for the counter's current value. The code's next part leads to extraction of binary value of an integer of 4 bytes and then it is shrunk to the required number of digits. One-time password generated based on time can be done following the same principles as the above, except for the automatic definition of time intervals based on counter. A time interval of 30 seconds as well as Unix epoch is required by Authenticator.

After knowing about the working of the code you have to know about how to use it.

1. Creating MVC Web Application- Open Visual Studio 2010 to use “New Project” wizard for creation of new MVC Web Application. Select Internet application there which will result in creation of default Account controller.

2. Creating TwoFactorProfile Class- A Profile class inherited from ProfileBase can be created to store 2 factor secret.

3. Modifying web.config- The element inherited from the TwoFactorProfile created by us can be modified.

4. Modifying AccountController- AccountController has to be modified in some places like Register action so that the user can be sent to ShowTwoFactorSecret page for the setting up of Google Authenticator. ShowTwoFactorSecret action can be created and the LogOn action changed for checking of code that has been provided by user for the validity assurance.

5. Modifying AccountModels- A field can be added to LogOnMode1 class for the working of ShowTwoFactorSecret and new LogOn actions. Then new TwoFactorSecret class can be created.

6. Modifying LogOn.cshtml View- The LogOn view can then be modified for the addition of new TwoFactorCode field.

7. Creating ShowTwoFactorSecret view- Finally the ShowTwoFactorSecret view has to be created by using a QR code's image for the user to scan; the secret can be manually entered as a string.

After you register in the application as new user, a QR code must be scanned with the app or the code under the QR code must be entered manually. After logging in there will be a new field for the entering of Google Authenticator Code. At this point the code must be entered; after entering the code, enter username and password correctly and there will be no problems in logging in. This would help you leverage the benefits of asp.net development.

We provide .net application development services. If you would like to discuss with a certified .net web developer from our team, please get in touch with us at Mindfire Solutions.

Friday 22 November 2013

The Good, the Bad and the Ugly of ASP.NET Identity

asp.net web development, .net application development services, .Net web developerASP.NET, developed by Microsoft, stands for Active Server Pages .NET and is used for the purpose of creating web pages as well as web technologies. The .NET framework has turned out to be an essential tool for programmers, willing to create dynamic websites by means of compiling languages like C# and VB.

Now, this framework is not restricted to the scripting languages alone but extends beyond that to enable the use of the .NET languages. With the many benefits of this framework in mind, it would also be desirable to look into the not so useful sides of the same. So, here is an overview of the good, bad and somewhat ugly sides of this identity management framework.

The Good Side

1. Facilitates Customization of Storage: Customization of storage was a distant possibility with the earlier identity management frameworks mainly because these were either too cramped or too subtle. With the present one, however, a successful separation of the storage of the identity information from that of the code that is responsible for an implementation of the security has been achieved. As such, one can, now, implement the interfaces and determine the way the data is actually stored.

Developers have the option of customizing the user account data and in the event that they want more data associated with the user, these can be added on the customized user class that deploys the interface. Consequently, the extra data can be stored by means of an implementation of the IuserStore.

2. Speedy: ASP.NET stands out from any other identity management frameworks by virtue of its ability to create websites rather quickly. The programming language comes with a number of features that pave the way for a faster development of websites and considering the present scenario, this is quite an advantage.

3. Asynchronous Support: A clear majority of the APIs in the new identity management framework are asynchronous and this certainly comes across as a major advantage. The addition is going to make the framework all the more useful for the web developers in the coming days.

The Bad Side

1. Too Close Following of the Windows: This is one big complaint of most developers against the ASP.NET framework. The framework is often said to follow the Windows form a bit too closely, which leads to awkwardness in building the web-based applications.

2. The Presence of the IuserRoleStore: The interface associating roles with the users known as IuserRoleStore often makes things unnecessarily complicated. The interface, though optional, has to be implemented on the user store if an explicit role support is what you are actually looking for. Moreover, much confusion arises on the issue regarding where the role can be kept. The developers must be aware of whether to keep them in the role store or the claims store for successful operation.

The Ugly Side

1. Presence of Leaky Abstractions: While this framework can be considered a combination of mostly good and few bad features, there is actually an ugly side to it and that is, a presence of the leaky abstractions. In the earlier versions, not all the APIs have to be included, which is why, the application must know as to which API it can implement and which it cannot. The present one is certainly much better designed though the possibilities of leaky abstractions remain.

2. Absence of the Desired Security Stuffs: It is the presence of those effective security stuffs that justifies the usage of a security framework. However, ASP.NET fails in this respect because of an absence of certain features, which include email account verification, password reset, username reminder, mobile phone verification, modern password storage and so on.

The above-mentioned ones are but few of the good, bad as well as ugly sides of asp.net web development.

We provide .net application development services. If you would like to discuss with a certified .net web developer from our team, please get in touch with us at Mindfire Solutions.

Monday 18 November 2013

3 Common Debugging Errors in Visual Studio 2013

Visual Studio is a broad collection of tools as well as services to help you build a comprehensive range of different apps, for especially the Microsoft platform and beyond. Visual Studio is meant to connect all of your teams, projects or stakeholders. Now with the help of Visual Studio 2013, it has become easier for your design team to work from virtually anywhere with greater agility, regardless of development tool Xcode or Eclipse.

Correcting the logic error is essential

.net web development, .net application development services, asp.net developer
Once you are done with .net web development and your application is created, build errors are resolved, you need to debug the logic errors that prevent your stored procedures or application from running accurately. This can be done with integrated debugging functions of the development environment. These help you register values and inspect memory, stop at procedure locations, observe message traffic, change variables and get a clear view of what your code does.

What is debugging?

It is really a decisive point for any kind of development project and especially during the time of execution of an application. Numerous errors are found to occur at the time of running application. Visual Studio involves a set of debugging as well as testing tools to help you ensure the highest quality of your Windows Store app.

Here are 3 common errors that all designers face while debugging .Net apps.

1. Asynchronous Debugging for Windows Store Apps: The debugger has improved support for the Windows Runtime for asynchronous programming model. In the framework languages of .NET, the model is expressed directly through the Async/Await (async/await keyword) in Visual Basic. In C++/Cx and C++ and .then continuations, task objects support the model. JavaScript uses .then continuations as well as promise objects.

The Call Stack window introduces the methods which call asynchronous performs under information frames of Async Call. The Tasks window, which was earlier regarded as the Parallel Tasks window helps in displaying the new model as tasks, in addition to advanced information regarding the tasks.

For C++ Windows Store App, enhanced exception reporting plays a major role. The debugger now supports to capture stack traces for enhanced C++ exceptions, at the time these occur in Windows Runtime parts. The debugger are able to display those stack traces that are captured whenever these are accessible on exception components that are derived from Exception (Platform). When the exception occurs, at a first-chance exception, the debugger displays the exception dialog box for listing the stack trace at that point.

You can also inspect exceptions in future Windows Runtime for a debugging session if you add the $exceptiontrace psuedovariable to the Watch window. If any exception occurs in the current thread, the entry can be expanded in the Watch window for seeing the stack track trace or navigating to source code which caused the exception. You can even watch $exceptiontrace by selecting the Add exception stack trace for watching link in the exception dialog box.

2. Just My Code for JavaScript and C++ Debugging: In the Call Stack window, Just My Code hides non-user code, like the code in system, Win.JS or 3rd party libraries. This option helps developers by making it much simpler to find your procedure at the time of debugging in mixed mode with C++and JavaScript or debugging asynchronous code.

By default, Just My Code remains on in Visual Studio 2013. On the call stack, you can view all code by choosing Settings as well as Options on the Debug menu to clear the checkbox in Enable Just My Code. This setting applies for all programming languages which support such option.

3. 64-bit Edit or Continue in the .NET Framework: Now, the debugger supports continue as well as edit for applications that target 64-bit platforms. Another major issue that often affects .NET apps running in the production environments includes problems related to their memory use and it can potentially have effect on both the application as well as the entire machine. Visual Studio 2013 helps by expanding the dump file analysis tools for finding inefficient memory use, memory leaks and spare allocations in the .NET Framework database, desktop applications and web.

The Visual Studio debugger assists in controlling the execution of any program and examining its state. The debugger can be used to analyze the defects in a Windows Store app and thereby making you understand exactly how your app functions. Whether you are creating mission-critical .NET apps, designing blazing-fast code with C++ AMP, or debugging and testing any cloud-connected mobile app (based on HTML/JavaScript) which runs on many devices, join millions of designers worldwide in preferring Visual Studio as your primary development environment.

We provide .net application development services. If you would like to discuss with a certified asp.net developer from our team, please get in touch with us at Mindfire Solutions.

Thursday 5 September 2013

ASP DotNET Web Forms Versus ASP DotNET MVC

In case you have considerable experience in ASP.NET development, much of the knowledge and expertise would come handy during the creation of Model View Controller application. Since MVC is a component of the .NET framework, most of the interfaces, class and namespaces can be utilized in these applications. Here we will discuss the positive aspects of both Web Forms as well as MVC models.

An overview of web forms

asp.net application development, expert .net developers, .net web development
Web forms were introduced to solve great many problems for web developers through creation of abstraction of a higher level over stateless web as well as simulated stateful model. Concepts such as ViewState, which helps in maintenance of control values at the time of postbacks, along with self postback, which facilitates posting of form data within same page, were introduced. The striking aspect is that not a single line of code needs to be written. The Visual Basic model is brought back into web by Microsoft. Let us examine the major strengths:

1. Event Model: An event-oriented programming style is supported which is similar to Windows applications. A number of events are available. Moreover, there are server controls to render support to these.

2. State Management: The intricacy of managing state is reduced through the use of server-based controls and view state.

3. Page-oriented architecture: Here we have an architecture which merges a page having declarative markup (in fact an .aspx file) along with a code-behind file which includes functionality. This structure makes room for convenient creation of pages which implement common tasks like markup rendering from server code and responding to user gestures.

4. Extensive set of controls: A plethora of server controls as well as components that help in the reduction of development time are provided by the .NET web development community.

A glance at MVC

ASP.NET MVC is one of Microsoft’s web application framework developed with separation of concerns as well as testability in mind. It is designed on CLR and entirely revolves around MVC architecture. There is no support for ViewState or server controls. The strengths are as follows:

I. Separation of concerns: A “separation of concerns” is enforced, which facilitates the division of the application into loosely-bound and discrete parts, incorporating the view, model and controller components of the application. In this way, testing and maintenance of MVC applications becomes more convenient.

II. Enhanced control for rendered HTML: Significant boost of control for rendered HTML is realized.

III. Test-oriented development: With MVC, it is easier to go for test driven development. An MVC project as well as its test project can be created simultaneously. Following this, unit tests can be designed with respect to every action method within the application, and they can be run without the need to invoke the web application’s total request cycle.

ASP.NET framework aspects in sync with MVC

MVC and web forms might appear to be distinct technologies. However, both these technologies are developed across the ASP.NET framework. As a result, most features utilized in the development of web forms are also available for Model View Controller application design. This incorporates features like authentication, membership, configuration and roles, which work in an identical manner in both categories of apps. Most of the interfaces, classes and namespaces can be utilized in an MVC app.

ASP.NET framework aspects that are not in line with MVC

Since in case of Model View Controller, state information is not maintained by utilization of view state, other ways need to be sought for state information management, if the same is required. In addition to this, server controls relying on postback and viewstate would not operate as designed for an MVC application. So, controls like Repeater, GridView as well as DataList controls should not be used. In case of a Web Forms page, the life cycle is complex, incorporating a number of events. Model View Controller application does not render support to such events since the interactions between the view, model and controller utilize distinct life-cycle models.

We provide ASP.NET application development services. If you would like to talk to one of our expert .net developers, please get in touch with us at Mindfire Solutions.

Monday 26 August 2013

Top Advantages of building web applications using MVC framework

.net application development, asp.net development, certified .net developers
MVC stands for Model View Controller - this is a model used for software development purposes. It is popular among various major programming languages today such as Java, PHP, ASP.NET etc. It has a pattern followed by many of the developers for customizing World Wide Web applications at ease. Model holds the business rules, functions and logic. View represents data structure or a chart or a diagram. Controller controls the model and the view.

Today it is being used as the powerful framework for building web applications using MVC pattern. The Model represents the application core, whereas the View displays the data and the Controller handles the input. The MVC separation helps one to manage complex applications, because one can focus on one aspect at a time. For example, one can focus on the view without depending on the business logic and thus makes it simpler and easier to test a web application. Here both the view and the controller depend on the model; the model depends on neither the view nor the controller. This is one the main advantages of the separation. Hence this allows the model to be built and tested independently of the visual presentation. The separation between the view and the controller is secondary in many client applications and many user interface frameworks implement the roles as one object as one package, thus no interference in each of the module.

In web applications, on the other hand, the separation between view (the browser) and controller (the server-side components handling the HTTP request) is very well defined. The MVC separation also simplifies team development. Different programmers can work on the business logic, view and the controller logic parallel thus without interfering in each other’s work.

Introduction of MVC in ASP.Net

In ASP.Net, there was a need to change the ASP.NET development pattern because working with Webforms became a difficult task, When MVC did come, it is now instrumental in meeting different business demands and making developer work easier. Let us understand what were the main disadvantages of Webforms in ASP.NET.
  1. Web forms by nature hide all the nature of HTTP.
  2. The user has no more control on the HTML markup generated by Web forms.
  3. There is no separation of Concerns in web forms. Presentation and business logic are tightly coupled in web form. For example, ASPX and ASPX.VB (or) ASPX.CS files are tightly coupled or depend one another. The Design (Presentation Logic) and Code Logic cannot be separated.
With each new version, MVC is getting more and more productive and helping develop richer and far more effective solutions.

Top Advantages of building web applications using MVC framework

MVC Framework is built upon a proven MVC design-pattern. ASP.NET has one of the major defects where it uses HTML size of controls and view state. View state stores all the HTML rendered data and the final HTML gets too large. If there is a slow internet connection, the load time is delayed. This has been taken care in MVC framework. MVC framework does not deal with view state concept. With MVC and JQuery integration makes it even better to write code that runs in the browser and takes away load from the server. Thus loading application quickly saving lot of development time. It also supports multiple views and unit testing as a part of Visual Studio 2008 and 2010. The MVC architecture isolates the domain logic from the user interface, allowing for quicker, more controlled development. MVC is under continued enhancements and getting finer day by day, providing more benefits with each new version.

MVC manages complexity because of its separated nature of model-view-controller makes it easier to manage the complexity of large applications and keep it well organized. Programmers are able to focus on one aspect of execution at a time, such as concentrating on the view without depending on the business logic or vice-versa. Some functions and classes of MVC can even be auto-created to save time. With MVC, it is faster test-driven development. Testing applications get easier than it is to test form-based ASP.NET web applications. This is because the separation of application tasks are all defined differently so they add no more complexity. Programmers can test their development work by writing a failing automated test case to define a desired improvement then evaluating the new code.

Because of the flexible coupling of the MVC architecture, rapid and parallel development is possible. It is much easier for more than one developer can code at the same time on the application. If one programmer is working on the view, another can work on the controller logic and the other on the business logic in the model, the application is capable enough to be completed three times faster. With model-view-controller, development gets quicker and independent, thus saving development time. The MVC framework gives full control over the behavior of their application because MVC does not use a view state or server-based forms. Since the controller uses different pieces of the model and view to create a request, many of these parts can be reused in other MVC applications. These reusable building blocks are chosen by the controller to handle specific processing and display needs.

The model-view-controller architecture also integrates with the JavaScript Framework. This means, MVC applications can be made to work with applications outside web pages, such as PDF documents, site-specific browsers, and desktop widgets. It also supports asynchronous calls to such scripts which results to faster loading.

MVC gives the ability to control the application. Rather than using Viewstate or Postback events to store the state of server controls on the page and to manage invocation of server side events, MVC instead uses different view engines to generate the markup that streams back to the browser client. The advantage here is that one can easily produce more standard markup and have greater control over what will be rendered to the client.

As a way to solve developers issues on time, everyone have been turning to MVC frameworks which promise increased productivity and maintainable code. Thus gaining more momentum in business growth.

We provide .net application development services. If you would like to talk to one of our certified .net developers, please get in touch with us at Mindfire Solutions.

Sunday 25 August 2013

4 Ways to Enhance Security of DotNET Web applications

asp.net development, asp.net developers, .net application development
With more and more businesses going online, website development has become complex and complement. Nowadays, developers frequently look for fresh and innovative ideas to optimize the look and feel of web application. At the same time, they also need to ensure that the website is high performing, scalable and secure. As a rapid web application development framework, Microsoft Dot Net is widely used by programmers across the world to build websites, web application and web services.

The framework also comes with several features and tools that enable programmers to optimize the performance of the website without writing longer lines of code. Also, Microsoft regularly update Dot Net framework with advanced authentication configuration and security features to keep the web application safe and inaccessible. However, each enterprise must consider a number of additional factors to optimize the security of its website. Some of these points can even be incorporated in the initial ASP.NET development plan.

Enhancing the Security of Your Dot Net Web Application

1. Set Least Privileges for the Website: Often the security of a website depends on the specific privileges it has on the local as well as remote computers. So you must configure the ASP.NET process identity properly to avoid potential security threats. It is also important to minimize the practical privileges for users while running the application. At the same time, you need to ensure that the users have no option to run the application as an administrator.

Based on the resources needed by the website, you have to set permissions by defining Access Control Lists (ACLs). In addition to setting all your files as read-only, you must not allow users to access a specific a path. The configuration will ensure that the root of your sever remains inaccessible when the application is running.

2. Identify Each User: Many enterprises allow users to access the web application without providing any credentials. The anonymous access to your application resources will have a huge impact on its security. So you must restrict unauthentic access to the application both on the intranet and web. If the Dot Net application will run on an intranet, you must configure it using Windows integrated security. The configuration will allow users to access the resources using their Windows login credentials. However, you also have option to use the ASP.NET authentication strategies to compel the user to provide login credentials.

3. Eliminate the Impact of Malicious User Input: The Dot Net framework allows programmers to validate the user input using a set of advanced authentication methods. But you must not assume that the user input is safe and harmless. As the malicious users can damage your website by submitting potentially dangerous information, you have to consider several ways to eliminate the impact of malicious user input. The HTML tags can also be used to submit scripts. So you must filter user input to keep the ASP.Net web pages secure.

Also, you can encode the HTML before displaying the unfiltered user input convert the potentially malicious script into display strings. At the same time, you need to ensure that the unfiltered user input is not stored in a database. Along with filtering the HTML accepted from users manually, you can clearly explain what information will be accepted by the application. However, you should not create a filter to identify and remove the malicious input, as it is difficult to identify the user input that is malicious and harmful.

4. Keep Your Databases Secure: The security of a web application is directly related to the way your store and access data. So you must consider optimizing the security of your databases to keep the Dot Net web application secure. Each database comes with inherent security features. You must avail the feature to restrict the access to database resources according to the requirements of the application. Further, you enable integrated security feature of your website to ensure that the users can access the database only by using Windows-authenticated users.

Many security experts consider the integrated security feature to be more effective than login credential based access. If you want to allow anonymous access to the application, it is a good idea to create a single user that has limited permission to run SQL queries. Instead of processing user input by concatenating strings to create SQL statements, you can consider creating a parameterized query. The customized SQL query will receive user input, and use the information as parameter values.

Microsoft has also recommended several best practices to fix the potential security flaws. At the same time, an enterprise must avail the security features provided by the web server to deploy the website in a secure environment.

We provide .net application development services. If you would like to talk to one of our certified asp.net developers, please get in touch with us at Mindfire Solutions.