Microsoft recently introduced .NET Framework Custom Code for Logic Apps Standard in public preview, allowing developers to call compiled .NET Framework code from a built-in action in their workflow.
Azure Logic Apps are Microsoft’s automated workflow offering, and its Logic App Standard tier allows developers to run workflows anywhere. Since its general availability in 2021, it has received several updates, such as support of .NET Framework assemblies in XSLT maps in Logic Apps, observability enhancements, and new data mapper. With the introduction of .NET Framework Custom Code, the company aims to push further the standard tier to help customers migrate from BizTalk Server to Azure. In addition, it brings extensibility capability for developers to solve more complex integration problems.
The .NET Framework Custom Code capability for Logic Apps Standard provides developers with a local VS Code experience, allowing them to step through their workflows and code in the same debugging session. Currently, the support is for .NET Framework 4.7.2 assemblies.
The latest Logic Apps extension for VS Code introduces a new logic app workspace template to enhance the development process, enabling streamlined custom code writing, debugging, and deployment within workflows. The template includes a workspace file and two sample projects—one for custom code authoring and the other for workflow authoring. Developers cannot mix custom code and workflows in the same project.
In a question on Twitter about the distinction that the workflow standard service plan allows for side-by-side hosting of function apps and how it differs from using a function or HTTP actions, Kent Weare, a principal program manager of Logic Apps at Microsoft, answered:
Under the hood, we are creating a function, but it runs on the same Logic Apps infra (and service plan), you don't have an additional security surface, and you can locally debug code and workflow in the same VS Code session. We also support dynamic schema for the token picker.
The company advises developers to use .NET Framework custom code extensibility to complement their low code integration solutions in cases like custom parsing, data validation, and simple data transformations – not for compute-heavy scenarios like streaming, long-running code, and complex batching or debatching.
When asked by InfoQ about what is driving this investment from Microsoft, here is what Weare had to say:
We chose to support .NET Framework 4.7.2 based upon customer feedback where organizations have invested in .NET Framework to extend their BizTalk Server solutions. By supporting .NET Framework 4.7.2, we allow customers to lift and shift their existing custom solutions from on-premises architectures to the cloud. The model we have used to introduce .NET Framework can be extended to support additional languages. This is something we will look to do after .NET Framework support reaches general availability (GA).
Lastly, the documentation pages and walkthrough video show more details and guidance of the .NET Framework Custom Code in Logic Apps Standard.