If you are debugging with VS2017/9 and want to pass environment variables to your container then read this post, if you are looking for picture of cats then sorry but leave a comment how you got here
Create a new text file, the name doesn’t matter, but i called mine Dockerfile.env
Add this file to your .csproj file.
Not really a step but you you can simply query your Environment variable in the usual fashion (Environment.GetEnvironmentVariable())
Needless to say when you run in production you’ll need to pass the Environment variable according to Docker documentation which I don’t cover here
The C# compiler defaults to the latest major version of the language that has been released. You may choose to compile any project using a new point release of the language. Choosing a newer version of the language enables your project to make use of the latest language features. In other scenarios, you may need to validate that a project compiles cleanly when using an older version of the language.
This capability decouples the decision to install new versions of the SDK and tools in your development environment from the decision to incorporate new language features in a project. You can install the latest SDK and tools on your build machine. Each project can be configured to use a specific version of the language for its build
Screenshot shows me selecting C# 7.2 for a .net core 2.1 application by changing the advanced options of the project properties build pane
In windows we have two types of semaphores, local and named system semaphores.
You can think of a semaphore as a bounder in a nightclub, the responsibility is to only allow a number of people into the club at any one time.
.net has a lightweight semaphore, ‘SemaphoreSlim’ that can be used for local communication (that is to say, system synchronization is not supported)
If you run the code above (e.g. in .net core 2.1 project) you will be presented with the following result
What is happening is that all the tasks try get access to the semaphore, they are all initially blocked until
is called which allows 3 tasks to enter at any one time.
So I’ve been looking for a serverless framework that can run on-prem and in the cloud, I’ve been leaning towards OpenFaaS as it appears to be gaining more traction, however I love Azure functions and though let’s see if this is a viable solution.
I download what is a Preview, so I wasn’t expecting miracles, I’m sharing the reasons why I can’t use it for my own requirements below.
It might save some of you guys the effort, I must reiterate that this is still a preview so some of the stuff I say here will be out of date really quickly!
I have decided against Azure Function On Prem in March 2017 because:
- It needs Sql Server, I can’t rely on having this at least not for some brown field projects I want to use serverless for.
- It needs IIS, I have to run on Linux (might be a solved problem… especially as it’s using the new .net core runtime )
- The packaging was a windows installer, I was hoping for some docker images, I expect this is a solved solution and for now the MSI is a quick win for the developers.
Next it’s down the rabbits burrow with OpenFaas on Kubernetes, cross your fingers for me!
Aside from the above which are mostly external limitations it’s nice to see Azure Functions Running locally
Hi all, I’d like to introduce you to what appears to be a great tool for the .net platform. http://www.ndepend.com/
I’ve promised to write a review on this tool, however, I’ll be perfectly honest and admit, that I’ve just not got the time right now, so I’m going to take a short cut.
I listen to a lot of podcasts mostly when driving or cycling, recently I’ve started listening to a new podcast http://www.codingblocks.net/ it’s a good podcast and I hope it continues to stick around. As it turns out this podcast did a review on NDepends http://www.codingblocks.net/podcast/ndepend-on-how-good-your-code-is/ and I encourage you to check it out. Moreover; in a more recent episode they mention that they’ve received feedback from Patrick Smacchia (Lead Developer and brains behind the tool) and the feedback they’ve received from Patrick on the few little niggles they encountered is quite positive and upbeat.
When I find myself looking for some tooling like this I’ll write a proper review of my own, but until then based on my interactions with Patrick and after listening to the podcast above, I encourage you, that if you’re in the market for such analysis tools to take NDepends for a spin, and let us know how you get on!