Category Archives: Programming

Everything about software development, architecture, etc.

HeartbeatActorServiceType is invalid and cannot be registered. Only ServiceTypes specified in the ServiceManifest can register.

If you try to register an actor within a Service Fabric service like this: but getting the following exception: System.Fabric.FabricException: ‘Invalid Service Type’ Inner Exception: COMException: Exception from HRESULT: 0x80071C21 then in Event Log (Applications and Services Logs -> Microsoft-Service-Fabric … Continue reading

Posted in Programming | Tagged | Leave a comment

Service Fabric and Dependency Injection, part 3: Unit testing

This is a series of blog posts: Part 1: Stateful service Part 2: Stateless service Part 3: Unit testing Unit testing of the final construct we’ve got in previous two parts would be challenging due to a number of reasons: … Continue reading

Posted in Programming | Tagged , | Leave a comment

Service Fabric and Dependency Injection, part 2: Stateless Service

This is a series of blog posts: Part 1: Stateful service Part 2: Stateless service Part 3: Unit testing Last time we instantiated a stateful service from a DI container, it was elegant and relatively easy. What I can’t say about … Continue reading

Posted in Programming | Tagged , | Leave a comment

Service Fabric and Dependency Injection, part 1: Stateful Service

This is a series of blog posts: Part 1: Statefull service Part 2: Stateless service Part 3: Unit testing The template of a Service Fabric application that is shipped with Visual Studio instantiates all services explicitly. Like and any other … Continue reading

Posted in Programming | Tagged , | Leave a comment

How to deploy Service Fabric application using ARM template and PowerShell, part 2: ARM

This is a series of blog posts: Part 1: PowerShell Part 2: ARM To publish an ARM template using whichever mechanism you’d like, first you need the actual ARM template. Here’s an example of an application consisting of one stateless … Continue reading

Posted in Programming | Tagged , , | 4 Comments

How to package Service Fabric application into SFPKG in .NET Core using MSBuild task

This task wouldn’t require much efforts but: Service Fabric doesn’t support packaging its “package” (which is not a real package but just a directory) into .sfpkg out-of-the-box. Only suggests to use ZipFile.CreateFromDirectory. MSBuildTasks doesn’t support .NET Core so we can’t … Continue reading

Posted in Programming | Tagged , , | Leave a comment

How to deploy Service Fabric application using ARM template and PowerShell, part 1: PowerShell

This is a series of blog posts: Part 1: PowerShell Part 2: ARM Prerequisites: You have your cluster up and running. How to achieve that is outside of the scope of this series Cluster has all necessary certificates deployedddeplo as … Continue reading

Posted in Programming | Tagged , , | Leave a comment

How to remove ARM resources for Service Fabric application and service using PowerShell

First you need to remove the resource corresponding to the application itself: And then the resource corresponding to the service:

Posted in Programming | Tagged , , | Leave a comment

How to call LINQ extension methods such as Where and ToDictionary using PowerShell

If you have IEnumerable<XElement> and want to call various LINQ extension methods such as Enumerable.Where() or ​​Enumerable.ToDictionary() on it using PowerShell then first load the necessary assemblies: And here’s the code for Where(): and for ToDctionary():

Posted in Programming | Tagged , | Leave a comment

The BuildLayout of the application is invalid. Code is missing for service

If you’re getting these very rare but still mysterious errors: Started executing script ‘Deploy-FabricApplication.ps1’. Test-ServiceFabricApplicationPackage : The BuildLayout of the application in c:\Temp\TestApplicationPackage_3811564851592\icw0q1rk.bus\Release is invalid. Code is missing for service MyWebApiPkg. or Register-ServiceFabricApplicationType : The BuildLayout of the application in … Continue reading

Posted in Programming | Tagged , | Leave a comment