Shawn Wildermuth


My Rants and Raves about technology, programming, everything else...

Deploying ASP.NET Core RC1 to Azure App Services

cloudraysAs you can see, I recently updated this blog. I wrote the new blog using ASP.NET Core RC1 (as related technologies) so when time came to deploy it, I had some issues.

At the time I thought it was Azure, but after testing with an empty project that worked, I figured it was probably something I did. In this post, I’ll talk about what I did to get it to work in Azure Websites.

Implementing an ASP.NET Core RC1 Logging Provider

LumberI recently added a logging provider to my open source project (WilderBlog). I know I shouldn’t have implemented a provider myself, but I wanted to see how the sausage was made.

The reality is that I should have used an existing library like Serilog or others, but digging into the logging framework taught be how the system works. I’m hoping to show you what I learned.

Using Cache in ASP.NET Core 1.0 RC1

When I created my blog in ASP.NET Core, I forgot about one feature that I used to help out some other Pluralsight authors by creating a quick top 100 list of courses. Because Pluralsight doesn’t really expose that data as an API, I didn’t want to hammer their service, so I had been using a memory cache to do it.

But when I moved the code over, I realized that the old, reliable Cache object was missing. Luckily I found it and like much of ASP.NET Core, adding it was simple and consistent. Let me show you.

Welcome to the New Wildermuth.com

javascriptA while back, I decided that this blog deserved a clean coat of paint and since I’m digging into ASP.NET Core, it was logical to re-write it. I wanted more than just to change the look, I wanted to make some real changes to the code and finally open source the code too!

Open sourcing the code required that I do a few things. First of all, I had to change any code that I would be embarrassed by (not a trivial task), but also make it so that much of normal secrets weren’t exposed by open sourcing it (e.g. connection strings, etc.). But as of now, I’ve done it. The source is available and the site is live! I am sure that there are issues with the site, but hopefully I’ll iron those out as they crop up.

Docker and ASP.NET Core: A Webcast

I’m at it again. I’m enjoying playing with the ASP.NET Core bits so much that I have to share what I’m learning.

This time it’ll be using ASP.NET Core in a Docker container. In this shortish webcast, I’ll show you an existing project that uses ASP.NET Core to build a blog project (my open source WilderBlog example) and deploy it to a Docker container locally using the Docker tooling. I’ll also mention cloud providers too including using AWS, Azure and Google Cloud.

Content Negotiation in ASP.NET Core

aspcore-1024x355As you might know, in ASP.NET Core, the MVC6 stack now includes the Web API functionality. Having a single stack has advantages and I’m happy they’ve converged the two stacks.

While working with early builds, I noticed the patterns for doing content negotiation weren’t working as expected so I defaulted to the MVC approach to REST APIs. In the RC1 build, it seems to be working as expected. Let’s talk about it.

Hello World Road Trip - So Far

We’re in San Francisco today and I thought it would be a good time to write a quick update to the trip. As some of you know, we’re currently in the middle of a twenty-five city trip and so far so good.

Tomorrow night we do the event here in San Francisco (with the amazing Beth Massi as our guest) and I’m excited to do our sixth event. It’s been an amazing couple of weeks and we can’t wait for the rest of the trip to unfold.

Atlanta Stop of the Hello World Road Trip

Had a great time kicking off the road trip in Atlanta. If you missed it, you’ll be able to hear Jim Wooley’s story soon on the Hello World Podcast!

In case you don’t know, at each stop of the http://hwroadtrip.com I’m doing a live recorded podcast as well as an hour talk about ASP.NET Core 1.0. We’re feeding everyone and giving away some great prizes by our sponsors including Pluralsight and Infragistics!

Angular 2 and ASP.NET Core - A Webcast

imageI’ve been toying around with getting Angular 2 working in a simple ASP.NET Core app. There are some specific caveats with getting it to work in Microsoft’s new framework. Let me show you how.

Now Angular 2 is in early beta and ASP.NET Core is in RC1 so I am taking a risk. I’m going to have a live webcast and I’ll build an Angular 2 app in an ASP.NET Core application. Come watch me walk the tightrope. No promises.

Kicking Off The Road Trip!

It’s almost time to hit the road again and I am very excited! I’m headed across North America (with a dash of Europe) over twenty-five cities this spring.

During each stop of the road trip, I’m recording an episode of the Hello World Podcast, then doing an hour talk about ASP.NET 5 ASP.NET 1.0 Core!

ASP.NET 5 Webinar

I had a great time today talking about ASP.NET 5 on a Pluralsight webinar. Over 1,000 people were able to attend. Thank you all for tuning in!

The webinar showed the very basics of what ASP.NET 5 is and why it exists. I had fun answering all the questions and wish we had time to answer more.

Upgrading ASP.NET 5 Beta 8 to RC1

UPDATED: Missed fixes.

It’s that time again. ASP.NET 5 has a new release and this one has a go-live license! As announced today, the RC1 is available and a new RC2 is coming in the future.

ASP.NET 5 and Bower

ps_logoAs most of you already know, I have a new course on ASP.NET 5. I’ve just released a teaser video that shows how the Bower.json editor in Visual Studio works.

The course was recently updated to use the ASP.NET Beta 8 bits. I am looking forward to the next update of ASP.NET and expect to continue to update the course all the way through the RTM.

The Week at DEVIntersection

PrintI want to thank all the great attendees I met at this week’s DEVIntersection (Fall 2015) conference in Vegas! Richard Campbell and company put on a great show!

I had the opportunity to do three talks and two of them went well (if you were at my Bootstrap talk, you know what I’m talking about). In any case, I wanted to share the slide and code with the attendees so here it is:

Upgrading from ASP.NET 5 Beta 7 to Beta 8

officetoolsIf you’ve been following along, you know by now that I’m investing my time into learning ASP.NET 5. Now that the ASP.NET team have released a new version, let me help you move your code to the new version.

The update this time includes some simple package changes but also some major API changes. I am sure I can’t cover them all here, but hopefully I’ll help you avoid the major ones.

New Course on ASP.NET 5!

aspnetIf you read my blog, you probably already know how excited I am about ASP.NET 5. To dovetail with that, I’ve created a nine-hour course on Pluralsight that covers this brand-new technology from Redmond.

This new course is similar to my end-to-end course on ASP.NET 4/MVC5 that I released a couple of years ago. The goal of the course is to teach you all the concepts while helping you build a simple web app.

A Look at ASP.NET 5: Part 5 - The API

hddcable

The more I work with ASP.NET 5, the more it looks and feels like the old ASP.NET stack except for the hosting. That’s a good thing in most cases, but writing the API that changes.

A Look at ASP.NET 5: Part 4 - MVC 6

measurewoodI had planned on finishing these a long time ago, but working on my Pluralsight course about ASP.NET 5 distracted me. Sorry about that.

If you’ve been doing web development in .NET, you probably have at least a passing experience with ASP.NET’s MVC framework. At it’s core, it’s a common way to build and architect web applications. The new stack is built on the same metaphors from the older versions. If you’ve been using MVC before, you won’t be lost and some of the additions are welcome.

ASP.NET 5 Identity and REST APIs

deadboltAs I’ve been digging into building apps with ASP.NET 5, I’ve had to get used to some of the new metaphors. Some of these make sense (especially if you’ve used Node before), but some are brand new to me. One of these metaphors I ran into was the idea of Identity notifications. 

The problem I was running into was one I thought many people would run into: using Identity (e.g. authentication/authorization) with REST APIs. Here is the scenario:

Angular v. React v. Aurelia v. et al.

babyflyerWhen I announced my upcoming course, I had a lot of people ask me about what I thought of X framework versus Angular (which I’m covering in the course). I feel like I have to say something.

Before I bestow my blessing, let’s talk about the fundamental problem of frameworks in general. They can be a boon or a bust and many developers have been hurt by a selection of a specific framework in the past. I know I’m being asked so that some devs can go to their architect to confirm their particular positions. I’m hoping to avoid that in this post, but I doubt it will work.

New ASPNET5 Course Coming

I’m diligently working towards my new Pluralsight course and I am very excited about it. The new course is an end-to-end building of a web app using ASP.NET 5, MVC6, Entity Framework 7, Angular 1.4, and Bootstrap 3.x.

This course is a bit different than other courses I’ve done because we’re releasing it before the RTM of ASP.NET 5. Because of this, I wanted to let my students know what to expect.

Atlanta Code Camp Call for Speakers is Open

We’re excited to announce that the 10th Annual Atlanta Code Camp is coming this fall on October 24th, 2015! We’re holding it at Kennesaw State University in Marietta, Georgia.

Whether you’re a veteran of technical talks or itching to get your feet wet with your first session, you should submit your ideas to the code camp. We like to have a mix of venerable and new speakers.

Windows Phone, Surface, and Fanboydom

hd7I admit it, I don’t know if that last word in the title is real, but anyway. I’ve used a Windows Phone since betas of Windows Phone 7. Like some of you I have the question of whether to believe the new Microsoft’s lukewarm support for the platform. Will Win10 be the savior of the platform or final coffin nail? I don’t have an answer to that.

I like to think that all that time has given me perspective, but I am not sure that’s true. I liken myself to a detached observer, but the reality is that I own a Windows Phone, a Windows Laptop, an Xbox One (and 360 before it), a Microsoft Band, and I even have a Spot Watch somewhere in a box. Does that make me a fanboy? I hope not, but certainly not a detached observer with a honest perspective.

Mapping Between Entities and View Models

As many of you know, my recent course on Pluralsight dealt with Best Practices in ASP.NET: Entities, Validation and View Models. As I’ve worked with clients, there seem to be a non-ending list of ways to deal with data in ASP.NET.

One of the topics that I am passionate about as it relates to the course is how to manage the Model to Entity relationship. While being pragmatic is important, I still believe that there are many situations where you want a separate Model for a view (server or client-side) instead of just using the Entities that you’re storing data with.

Upgrading ASP.NET 5 Beta4 to Beta5

officetoolsFor my upcoming course, I have a decent sized example that I’ll be teaching from. In the process of watching ASP.NET 5 go through the sprints, I have to upgrade the project at every step. I feel at some point I should be getting better at dealing with the sprints, but not yet ; )

Here is a short post that includes the different things I had to deal with in upgrading the project. It’s not just the ASP.NET 5 update, but also EF7 and a couple of small details.


Application Name WilderBlog Environment Name Production
Application Ver 1.1.0.0 Runtime Framework .NETCoreApp,Version=v1.1
App Path D:\home\site\wwwroot Runtime Version .NET Core 4.6.24628.01
Operating System Microsoft Windows 6.2.9200 Runtime Arch X86