I’m running lots of Angular 2 using the CLI on OSX (and loving it).
I have one small issue…
Often after stopping the app, when re-running it I get
‘Port 4200 is already in use.‘
Here is a little linux magic for you:
lsof -t -i tcp:4200 | xargs kill -9 | ng serve
This will find the process using port 4200, kill it, then re-serve your application.
(Posted for my FireBootCamp students that are having this issue.)
http://tv.ssw.com/6628/asp-net-5-de-b… The change from ASP.NET 4 to ASP.NET 5 brings a whole lot of awesome to web development, but it’s the biggest change since MVC was introduced and the learning curve is massive.
SSW shipped 2 enterprise apps on ASP.NET 5 while it was still in Beta (wow, that hurt).
Don’t spend weeks trying to understand how to get your new project right.
This session isn’t just ‘hello world’, it’s the stuff we wish we’d known in those first head-scratching weeks.
Continuously deploying from GitHub to Azure should be easy. In this video I discuss 2 issues I found when deploying an API using ASP.Net 5
Here is what I was trying to do:
- I had a simple ASP.Net 5 Web API project.
For this demo, I just went file | New and chose the Web API Template for an ASP.Net 5 project
- I checked it into GitHub
- I went into Azure and created an API app (I could do the exact same demo using a Web App)
- Then I went in and configured continuous deployment in the Azure portal
It should have been simple…..
There are two issues:
#1: Even the most basic ASP.Net 5 project requires at least a B1 Azure instance size. For Free and Shared instances, there will be insufficient space for the build, even though they give you 1 GB of storage.
#2: If you want to successfully deploy an ASP.Net 5 project, even if it doesn’t require the wwwroot folder, you need to include it for Azure to recognise the project as an ASP.Net 5 project that needs to be deployed.
i.e. even for a pure web API project that serves no static content. If you don’t have a wwwroot folder the project won’t be published to Azure, the repo will just be pulled… then the app won’t run. (the project.json webroot setting appears to be ignored)
For the Microsoft Team:
- #1: I would like to be able to create a simple ASP.Net 5 API or Web project and continuously deploy it to Azure via GitHub.. and have it work on the Free instance size.
- I think it is important for developers interested in Azure to have the freedom to experiment without worrying about getting charged
- This may involve expanding the size of the free tier on Azure, or maybe it means making some exceptions about what is counted towards the 1 gb of storage…. but we want a frictionless entry to continuous deployment of ASP.Net to Azure
- #2 The second thing I really want to see is a few more smarts around how we identify if an application is a .Net app and if it needs to be pulled straight into Azure from GitHub, or wether it needs to be compiled and published. It appears at the moment it is looking for the existence of a wwwroot folder to make the decision. Suggestion: should we be checking for the existence of a project.json or a hosting.json and then checking for the webroot setting to assist in this determination? similar to the work being done on default logic around the webroot https://github.com/aspnet/Announcements/issues/94
ASP.NET 5 (formerly known as ASP.NET vNext), along with .NET Core, is Microsoft’s ground-up rewrite of the .NET Framework. It is designed specifically for modern cross-platform web-application development and involves a number of breaking changes and new concepts that the .NET developer will need to be aware of.
While everyone is making the move to MVC 6 (and it is pretty awesome), not everything is there yet.
Until it works out of the box, here is an easy way to wire up your MVC 6 project to log all exceptions to Application Insights.
Create the Application Insights resource via the Azure Portal
- Sign in to the Azure portal, and create a new Application Insights resource. Choose ASP.NET as the application type.
A resource in Azure is an instance of a service. This resource is where telemetry from your app will be analyzed and presented to you.
The choice of application type sets the default content of the resource blades and the properties visible in Metrics Explorer.
The key identifies the resource, and you’ll install it soon in the SDK to direct data to the resource.
Create the Exception Filter to log all exceptions
Figure: Add the ApplicationInsights.Web NuGet package
Figure: Create the Telemetry class to instantiate an instance of the TelemetryClient with your InstrumentationKey & the AiHandleErrorAttribute class that will log exceptions to Application Insights.
Figure: Wire up the ExceptionFilterAttribute in Startup.cs
I L.O.V.E. developing on my 15” MacBook Pro, but I had some fiddling to get it just right.
Here is a quick post about how I have it configured.
– Software: Parallels for Mac (I intend to check out VMware Fusion when I get some time.)
– I don’t use a BootCamp partition.
If you run Parallels from a BootCamp partiton you lose the ability to take snapshots, which I love.
In the future, when working more with mobile emulators, I might find that I need to boot natively into Windows and change to working from a BootCamp partition.
Figure: I allocate 8 of my 16Gb of RAM and 4 of my 8 ‘virtual’ CPUs because Visual Studio is still awesomely fast, and I often use the spare Ram and CPUs for other VMs (e.g. for testing older browsers)
Figure: My sharing settings.
The ‘Shared Profile’ setting determines if you integrate Windows into OSX. I don’t enjoy this experience at all.
Tip: Install DropBox on OSX, not in Windows and then tick ‘Shared Cloud’
As always, I love feedback and suggestions.