Posts

Changing Sign-In Names on a large scale in a hybrid Office 365 environment

There are several scenarios in a corporate environment that necessitate changing Sign-In names on a large scale. Unifying email addresses across all business units is one of those scenarios we recently encountered with a large (~13000 employees) Office 365 customer. Changes like this are difficult because certain Office 365 services incorporate the UserPrincipalName into exposed URLs. Have a look at the parts of a Skype Meeting URL below: URLs of shared files in Skype for Business are even more susceptible to changes. [More...]

Eliminating build servers with Azure Container Registry

Currently I use an Azure Linux Webapp with a custom container to host one of my web apps. The build & release process looks like this: commit code to the master branch of a github repository CI build in VSTS builds docker image & pushes it to Docker Hub CD release in VSTS updates the container image for the Web App in Azure When I saw this tweet I knew that this process could be simplified: [More...]

A .NET Core 2 SOAP Service Cheatsheet

If you have to consume (SAP) SOAP services with .NET Core 2 you might find the following steps and code samples helpful. UPDATE: Chris van Sluijsveld pointed out that the Connected Services feature makes this easier! Generate the client proxy code with Visual Studio’s “Add service reference” function in a full (old) .NET Framework project copy the generated C# code to your .NET Core project and keep the generated config for reference Use the Connected Services feature of Visual Studio 2017 in your project to generate a reference to your SOAP service add the System. [More...]

Will Azure App Services updates break my apps?

During a web app migration project our customer had questions about breaking changes introduced by Microsoft during maintenance of the Azure App Service infrastructure. The pleasant thing about Platform as a Service is, that you don’t have to worry about the underlying operating system and its components. But Azure still runs on servers that must be patched so this is a valid concern. A quick search on google produced a forum post by Cristhian Uribe that confirmed my initial assumption: Microsoft will not update the platform (i. [More...]

How to get away with enterprise software development

0 - YAGNI Before we even write the first line of code, remember that not doing something at all is occasionally a valid option. The YAGNI principle may be applied to various aspects of software development projects. Can we use an existing library for Task X? Was feature Y really part of the specification provided by the stakeholders? Did we use market research to figure out if product Z we are about to create provides any meaningful value for the target audience? [More...]

Remove and block a mobile device with Exchange Powershell

Occasionally you want to remove an employee’s active sync device and block it for good. Calling “Remove-MobileDevice” will remove the device partnership but it will come back if it’s already been added to the allowed devices of the mailbox. In the example below, I want to get rid of a user’s Android devices, so I’m adding those DeviceIDs to the list of blocked IDs on the Mailbox before I remove the device from the system. [More...]

Upgrading an ASP.NET 5 MVC app from beta4 to beta5

ASP.NET 5 Beta 5 is out now, so go get it. The only thing that really broke for me was my custom configuration source setup. //beta4 public Startup(IHostingEnvironment env) { // Setup configuration sources. Configuration = new Configuration() .AddJsonFile("secret.json"); } //beta5 public Startup(IHostingEnvironment env, IApplicationEnvironment appEnv) { // Setup configuration sources. Configuration = new Configuration(appEnv.ApplicationBasePath) .AddJsonFile("secret.json"); } I also use this for my integration tests. In this case you could do something like this: [More...]

Copyright 1998 - 2022 F. Hötzinger Klingerfeldstr. 2a 94550 Künzing
Mail: florian@hoetzinger.de | Twitter: @3dshootercom | Mastodon: @hoetz@dotnet.social