Presented on REST and ASP.NET Web API in C# Corner South India Meet : 31st Jan 16

Hello All,

On 31st Jan 2016, C# corner organized a major event named as South India Meet in Hyderabad. This event got an awesome response from the developer community where more than 500 people registered for the event and was attended by 200+ developers. A series of hot topics were discussed including REST, ASP.NET Web API. AngularJS, Phonegap etc which was very much appreciated by the audience. I presented on Building Rest Services using ASP.NET Web API and audience enjoyed the talk with full of enthusiasm and energy in spite of the last session of the day.  For the popular demand, I am attaching the slides and sample at the end of this Post. Some snaps of the event

Brij_stage

attendees

CaBySP-UEAAlbY7We also announced the North India’s largest conference C# Corner Annual Conference which will be taking place in Noida during 18-19 April 2016.

For complete details of C# Corner Conference Click here.

Sample code

Please note that the solution was built using Visual Studio 2015 Update1 and ASP.NET RC1. You can download the community edition of Visual Studio to get going and exploring more features.

Thanks a lot to all attendees and hope you all have enjoyed the day.

Do share you feedback and let us know if you want to hear any specific topic

You may like to download AngularJS book from here

Cheers,
Brij

 

Unspecified Error while installing ASP.NET 5 RC1 Update 1 : Solution

Hello All,

Recently I installed Visual Studio update 1 on few new azure VMs but when I started installing ASP.NET 5 RC1 Update 1, I got the below error.

error

I tried to find the details on internet but not much information regrading this information. I saw some people find another Hash problem with this package but after looking it closely I found it different. Later when I looked into the log, I found the below details

Log files shows that it is not able to download DotNetVersionManager_x64 from https://go.microsoft.com/fwlink/?LinkId=708515. However, when I try from browser, it is downloading the msi. The error looks in the log as
[1124:12AC][2015-12-20T19:10:08]w343: Prompt for source of package: DotNetVersionManager_x64, payload: DotNetVersionManager_x64, path: C:\Users\WinS12R2Brij\Desktop\DotNetVersionManager-x64_rc1.msi
[1124:12AC][2015-12-20T19:10:08]i338: Acquiring package: DotNetVersionManager_x64, payload: DotNetVersionManager_x64, download from:https://go.microsoft.com/fwlink/?LinkId=708515
[1124:12AC][2015-12-20T19:10:08]e000: Error 0x80072f08: Failed to send request to URL: https://go.microsoft.com/fwlink/?LinkId=708515, trying to process HTTP status code anyway.
[1124:12AC][2015-12-20T19:10:08]e000: Error 0x80072f76: Failed attempt to download URL: ‘https://go.microsoft.com/fwlink/?LinkId=708515‘ to: ‘C:\Users\WINS12~1\AppData\Local\Temp\2\{782d25e1-8377-4417-a491-3013700fe300}\DotNetVersionManager_x64’

The error shows that it is preparing to download some packages but failing to send the request to the URL and returning some crazy HTTP status code anyway . I checked quickly internet connectivity as soon as I saw this error but it was working fine and even I tried to download from the requested URL directly from browser and it was downloading the package correctly.

After spending some more time and doing here n there, I downloaded the packages from all the URLs where it was failing and installed directly on my machine. I had to install three packages in the same to all the machines where I was getting the issue. Then I installed the original package and it ran smoothly. You can find the URLs from the log by looking specific line where you have Error 0x80072f08: Failed to send request to URL .

Before wrapping up, let me tell you that I didn’t find this issue on one of my machines but got the same on rest four VMs and some were having Windows Server 2012 R2 and 2016 technical preview. Two were having SQL 2014 and VS 2013 installed before installing VS 2015 update 1 and the above 1. On the machine where It went smooth without any issue that was also having similar configuration but I was using it from long time. Just provided this information for completeness as all the environment were quite similar.

Cheers
Brij

 

ASP.NET 5 RC1 Web API always returns JSON – Why ?


Hello All,

Note – For this example, I am have used Visual Studio 2015 Update 1 for IDE and ASP.NET 5 RC1.

Recently I started working on an ASP.NET Web API application but I got stuck at one point for few hours. Let’s start from scratch and create the application first then we will see the behavior and various options. As I (most of us) like to start from clean slate so I created an empty ASP.NET application and followed the below stuff

  1. Added Microsoft.AspNet.Mvc as dependency in project.json.
  2. In ConfigureServices method of startup.cs, added services.AddMvc()
  3. In Configure method of startup.cs, added app.UseMvc();
  4. Added a Controllers folder in solution and added a controller class with name as PeopleController which inherits from Controller.
  5. Added the attribute route on the controller as
  6. Now we have done all the necessary set up and added a Controller for Web API. I have added a DataHelper class in Models folder (which I added) which returns a list of persons.

Now when I run that application and call the API using Fiddler as

request

I get the response in JSON format

response

Although we didn’t send any Accept header in request. It means now the default response format is JSON only. Now I added the Accept header as

acceptrequest

Then also the response was same as earlier.

As per earlier understanding that the returned content type should be as per the Accept header which is not the case when I did some research, I found that now by default only JSON formatter is included. Refer the below link for detailed discussion.

https://github.com/aspnet/Mvc/issues/1765

And this was implemented in beta 3 release and it says that to add the XML formatter, we need to include the package Microsoft.AspNet.Mvc.Xml but I got an error while including this package because the latest version available is beta5 and the version of MVC we are using is rc1. After spending few hours, I discovered that the package Microsoft.AspNet.Mvc.Xml is not the correct one now and there was no update in it since 30th Jun’15. Two new packages for formatting XML and JSON format got introduced as

  1. Microsoft.AspNet.Mvc.Formatters.Xml
  2. Microsoft.AspNet.Mvc.Formatters.Json

Currently there is no details available on earlier package  that now some new packages are available instead of Microsoft.AspNet.Mvc.Xml  which made it bit tough to find the right one.

As we realized, JSON is included by default with MVC package, I added Xml package and configureed it in services as

public void ConfigureServices(IServiceCollection services)
{
    var mvcBuilder = services.AddMvc();
    mvcBuilder.AddXmlDataContractSerializerFormatters();
}

Now when I ran the package with Accept header as text/xml, it return the response in XML format as

xmlresponse

But default is JSON only so we don’t need to send any information in header if we just want the result in JSON format.

Cheers
Brij

 

Wish you all a very Happy New Year : 2016

Happy-New-Year-2016

Hello All,

As the 2015 is now past, I want to wish you and your family a Very Happy New Year. May this year become one the best years and you achieve new heights in your career. As saying Good health is True Wealth , be healthy throughout the year and enjoy each moment.

First I want to say all of you a BIG THANK YOU for all of elders, friends, blog readers, event audiences for your support and candid feedback throughout the year. This year was again one of the best years where I received my 5th MVP award in a row .I also presented to India’s largest developer’s conference (GIDS) and it was an awesome experience. I would like to thank some of the legends Pinal Dave, Vinod Kumar,  Balmukund, Mahesh Chand, Gaurav mantri sir and many more for there valuable suggestions and motivation. This year, I also moved to new city Hyderabad and enjoying interacting with the developers here and I am really enjoying this place. Hope we will see you all in many other events and if you stay nearby.

In the New Year 2016, I will give more time to my blog and community events to make myself more helpful. Also I have many plans for few new things that I will be working and sharing at right time. I am sure my posts, community events will add more value in coming year too.  You can connect me through my blog, twitter, facebook page, Linkedin, email. I’ll try to respond as early as possible.

Again, Thanks a lot and A very happy new year to all of you and keep learning n keep growing.

Happy New Year
Brij

Popup boxes in JavaScript : Do you use all ?

How many times have you used alert popup in your JavaScript code?

Most of the web developer’s answer would just less than infinite. This is the most used keyword and become rescue tool when we stay late at office to resolve a silly JavaScript issue. Alert prompts user a popup with some information. Earlier it was also used heavily for showing validation error messages.

But do you know what all are other popup options available with JavaScript?

These are in total three as below

popupboxes

Let’s discuss one by one

Alert

It is the simplest one and most widely used to show some message to user in one way. Once the message on browser, it shows OK button which is required to be pressed before moving further as

alert

Syntax

Syntax is pretty simple

   alert("Your meesage to user");

Confirm

This is another important  message box which instead of just showing a message to user, it also accepts the user’s response. It is used to take a Boolean response (true/false) from the user. When displays it show two buttons Ok and Cancel. Ok return true and Cancel returns false. Lets see it

confirm

Syntax
    if(confirm("Do you want to proceed"))
    {
        // Proceed further
    }
    else
    {
        // Stop 
    }

Prompt

This is another popup message box which is used least. But this can be very helpful in certain scenarios. This allows to take some input from the user. When it is shown to user, it provides an input box in popup where user can enter some text with OK and Cancel button. If OK is pressed then the entered value is passed to the backend else it returns null. It also allows us provide a default value in text box.
prompt

Syntax
    var enteredSocialMedia = prompt("Which social media site you use most", "Twitter")
    if (enteredSocialMedia == null)
    {
        alert("No worries!! You can save your preference any time");
    }
    else
    {
        alert("We have saved your preference");
    }

I have used Internet Explorer for this example and if you have used alert or any of them with earlier version of IE like IE 6/7, its looks much better now. It looks different on different browser because its the browser which shows its own popup. Although in most of the cases, we don’t use these popup due to its limitation and look n feel but can help in many scenarios and suitable for small applications.

Cheers,
Brij

AngularJS in 19 Days : Download the free eBook with samples

Hello All,

As you might be following the series of posts on AngularJS from last couple of months and that I completed 20 post and covered range of topics. Based on many suggestions, I have updated all those posts with current version 1.4, since initial posts were using other using 1.0+, added navigation links etc. Now I have incorporated compiled all the posts, refined the content and sample a bit and happy to present it in a format of eBook. I am sure it will be very handy and easy to read and follow till end.

About the ebook :

ebookcoverFor those who were not following the series of post, As the name suggests this book in divided in 19 days from Introduction to covering most of the core topics including unit tests. The sample of each day can be downloaded from GitHub. This is not just another e book which covers the basics of AngularJS or cover everything, but it is a unique combination of basics and details description of core concepts with sample. If you are ASP.NET MVC developer then it will become more fruitful to you as some of days it covers that how and what are best ways to use Angular in ASP.NET MVC project. I am sure you will enjoy the book and will share your feedback that will help in upcoming new version.

 

Download the book from here

Thanks
Brij

Leveraging HTTP/2 with ASP.NET 4.6 and IIS10

In the last decade, the Web has taken multiple long strides. From basic HTML, web pages developed a richer look and feel, and are getting more intuitive, user friendly and glossier every day. The key contributors to these changes are some new and revamped technologies, supported by the latest hardware and better internet connectivity. But performance has always been an area of concern with web applications since the beginning…Read the complete post on Infragistics blog