Can I Run IronBarcode with .NET on Azure?

Yes! IronBarcode can be used to read and write QR/barcodes in .NET applications hosted on Azure services. IronBarcode has been thoroughly tested on multiple Azure platforms including MVC websites, Azure Functions, and many more.


Pre-requisites

1. Install IronBarcode to Get Started

First, install the NuGet package on the NuGet website.

Install-Package BarCode

As an alternative, the IronBarcode.dll could also be downloaded and added to your project.


How to Tutorial

2. Performance and Azure Tiers

We recommend at least using the Azure B1 service plan, as it's suitable for most of our users' use cases. Systems that require higher throughput will need a higher service plan.

3. Framework Choice

.NET Standard, Core, and Framework projects are all compatible with IronBarcode.

4. Docker on Azure

One way to gain the ability to control performance and stability with IronBarcode on Azure is to use Docker. To learn how to use IronBarcode with Azure and Docker, have a look at this tutorial.

5. Official Azure Function Support

IronBarcode currently supports Azure Functions V3 and V4.

Working Azure Function Code Example

Tested on Azure Functions v3.3.1.0+. Here is a code sample:

using System;
using System.Net;
using System.Net.Http;
using IronBarCode;
using Microsoft.AspNetCore.Http;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.Extensions.Logging;
using System.Net.Http.Headers;

public static class BarcodeFunction
{
    // Azure Function triggered by HTTP request.
    [FunctionName("barcode")]
    public static HttpResponseMessage Run(
        [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
        ILogger log)
    {
        log.LogInformation("C# HTTP trigger function processed a request.");

        // Set the license key for IronBarcode if needed.
        IronBarCode.License.LicenseKey = "Key";

        // Create a QR barcode from a string.
        var myBarCode = BarcodeWriter.CreateBarcode("IronBarcode Test", BarcodeEncoding.QRCode);

        // Prepare the HTTP response to return the barcode image.
        var response = new HttpResponseMessage(HttpStatusCode.OK)
        {
            Content = new ByteArrayContent(myBarCode.ToJpegBinaryData())
        };

        // Set content headers for attachment and content type.
        response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
        { 
            FileName = $"{DateTime.Now:yyyyMMddmm}.jpg" 
        };

        response.Content.Headers.ContentType = new MediaTypeHeaderValue("image/jpeg");

        return response;
    }
}
using System;
using System.Net;
using System.Net.Http;
using IronBarCode;
using Microsoft.AspNetCore.Http;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.Extensions.Logging;
using System.Net.Http.Headers;

public static class BarcodeFunction
{
    // Azure Function triggered by HTTP request.
    [FunctionName("barcode")]
    public static HttpResponseMessage Run(
        [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
        ILogger log)
    {
        log.LogInformation("C# HTTP trigger function processed a request.");

        // Set the license key for IronBarcode if needed.
        IronBarCode.License.LicenseKey = "Key";

        // Create a QR barcode from a string.
        var myBarCode = BarcodeWriter.CreateBarcode("IronBarcode Test", BarcodeEncoding.QRCode);

        // Prepare the HTTP response to return the barcode image.
        var response = new HttpResponseMessage(HttpStatusCode.OK)
        {
            Content = new ByteArrayContent(myBarCode.ToJpegBinaryData())
        };

        // Set content headers for attachment and content type.
        response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
        { 
            FileName = $"{DateTime.Now:yyyyMMddmm}.jpg" 
        };

        response.Content.Headers.ContentType = new MediaTypeHeaderValue("image/jpeg");

        return response;
    }
}
Imports System
Imports System.Net
Imports System.Net.Http
Imports IronBarCode
Imports Microsoft.AspNetCore.Http
Imports Microsoft.Azure.WebJobs
Imports Microsoft.Azure.WebJobs.Extensions.Http
Imports Microsoft.Extensions.Logging
Imports System.Net.Http.Headers

Public Module BarcodeFunction
	' Azure Function triggered by HTTP request.
	<FunctionName("barcode")>
	Public Function Run(<HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route := Nothing)> ByVal req As HttpRequest, ByVal log As ILogger) As HttpResponseMessage
		log.LogInformation("C# HTTP trigger function processed a request.")

		' Set the license key for IronBarcode if needed.
		IronBarCode.License.LicenseKey = "Key"

		' Create a QR barcode from a string.
		Dim myBarCode = BarcodeWriter.CreateBarcode("IronBarcode Test", BarcodeEncoding.QRCode)

		' Prepare the HTTP response to return the barcode image.
		Dim response = New HttpResponseMessage(HttpStatusCode.OK) With {.Content = New ByteArrayContent(myBarCode.ToJpegBinaryData())}

		' Set content headers for attachment and content type.
		response.Content.Headers.ContentDisposition = New ContentDispositionHeaderValue("attachment") With {.FileName = $"{DateTime.Now:yyyyMMddmm}.jpg"}

		response.Content.Headers.ContentType = New MediaTypeHeaderValue("image/jpeg")

		Return response
	End Function
End Module
$vbLabelText   $csharpLabel

In this code:

  • We define an Azure Function with the name "barcode."
  • The function is triggered by an HTTP request and logs a message when processed.
  • We specify the license key for IronBarcode (replace "Key" with your actual license key).
  • A QR code barcode is generated using BarcodeWriter.CreateBarcode.
  • The barcode image is converted to JPEG format and included in the HTTP response.
  • The response content is set as a downloadable attachment with the current date and time as the file name.
  • The response content type is set to "image/jpeg" to indicate the image format.

Frequently Asked Questions

How can I integrate barcode functionality into my Azure applications?

You can integrate barcode functionality into your Azure applications by using IronBarcode. Start by installing the IronBarcode NuGet package via the command line or by downloading the IronBarcode.dll and adding it to your project.

What Azure service plans are suitable for barcode processing?

For most use cases, the Azure B1 service plan is recommended when using IronBarcode. If your application requires higher throughput, consider upgrading to a higher service plan.

Is IronBarcode compatible with all .NET frameworks on Azure?

Yes, IronBarcode is compatible with .NET Standard, Core, and Framework projects, allowing flexibility when deploying applications on Azure.

Can I use Docker to improve barcode processing performance on Azure?

Yes, you can use Docker to enhance performance and stability for barcode processing on Azure. A detailed tutorial is available for integrating IronBarcode with Docker.

Do IronBarcode libraries support Azure Functions?

IronBarcode supports Azure Functions V3 and V4. It allows for seamless integration of barcode processing in serverless environments.

How does an Azure Function process barcodes using IronBarcode?

An Azure Function can be set up to generate a QR code when triggered by an HTTP request using IronBarcode. It logs a message, sets a license key, creates a QR code using BarcodeWriter.CreateBarcode, and returns the image as a JPEG file in the HTTP response.

What code is needed to create a QR code in an Azure Function?

In an Azure Function, use IronBarcode to create a QR code by calling BarcodeWriter.CreateBarcode within the function. The generated QR code can then be returned as a JPEG image in the HTTP response.

Chaknith Bin
Software Engineer
Chaknith works on IronXL and IronBarcode. He has deep expertise in C# and .NET, helping improve the software and support customers. His insights from user interactions contribute to better products, documentation, and overall experience.