Can I Run IronBarCode with .NET on Azure?

Yes. IronBarCode can be used on Azure to Generate QR & Barcodes in C# & VB .NET Applications, and also Read Barcodes & QR Codes from Scanned Images.

IronBarCode has been thoroughly tested on multiple Azure platforms including MVC websites, Azure Functions, and many more.


Step 1

1. Install IronBarCode to Get Started

First Install with NuGet: https://www.nuget.org/packages/BarCode

Install-Package BarCode

How to Tutorial

2. Performance and Azure Tiers

We recommend that Azure B1 hosting levels are very suitable for our end users' Library needs. If they are creating a high throughput system, this may need to be upgraded.

3. Framework Choice

We have found that IronBarCode for Core and for Framework both work on Azure. .NET Standard applications seem to have a small performance advantage on speed and stability, but use more memory in process.

Azure free tier hosting is slow

Azure free and shared tiers, and the consumption plan, are not suitable for QR Processing. We recommend Azure B1 hosting/Premium plan, which is what we use ourselves.

4. Docker on Azure

One way to gain the ability to control performance on Azure is to use IronBarCode applications and Functions from within Docker Containers.

We have a comprehensive IronBarCode Azure Docker tutorial for Linux and Windows instances and it is recommended reading.

5. Official Azure Function Support

IronBarCode Support Azure Function (Azure Functions V3). It's not been tested with V4 Till now but it is in our Queue.

Working Azure Function Code Example

Tested on Azure Functions v3.3.1.0+. Here is Sample Code

[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.");
    IronBarCode.License.LicenseKey = "Key";
    var MyBarCode = BarcodeWriter.CreateBarcode("IronBarcode Test", BarcodeEncoding.QRCode);
    var result = new HttpResponseMessage(HttpStatusCode.OK);
    result.Content = new ByteArrayContent(MyBarCode.ToJpegBinaryData());
    result.Content.Headers.ContentDisposition =
            new ContentDispositionHeaderValue("attachment") { FileName = $"{DateTime.Now.ToString("yyyyMMddmm")}.jpg" };
    result.Content.Headers.ContentType =
            new MediaTypeHeaderValue("image/jpeg");
    return result;
}
[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.");
    IronBarCode.License.LicenseKey = "Key";
    var MyBarCode = BarcodeWriter.CreateBarcode("IronBarcode Test", BarcodeEncoding.QRCode);
    var result = new HttpResponseMessage(HttpStatusCode.OK);
    result.Content = new ByteArrayContent(MyBarCode.ToJpegBinaryData());
    result.Content.Headers.ContentDisposition =
            new ContentDispositionHeaderValue("attachment") { FileName = $"{DateTime.Now.ToString("yyyyMMddmm")}.jpg" };
    result.Content.Headers.ContentType =
            new MediaTypeHeaderValue("image/jpeg");
    return result;
}
<FunctionName("barcode")>
Public Shared 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.")
	IronBarCode.License.LicenseKey = "Key"
	Dim MyBarCode = BarcodeWriter.CreateBarcode("IronBarcode Test", BarcodeEncoding.QRCode)
	Dim result = New HttpResponseMessage(HttpStatusCode.OK)
	result.Content = New ByteArrayContent(MyBarCode.ToJpegBinaryData())
	result.Content.Headers.ContentDisposition = New ContentDispositionHeaderValue("attachment") With {.FileName = $"{DateTime.Now.ToString("yyyyMMddmm")}.jpg"}
	result.Content.Headers.ContentType = New MediaTypeHeaderValue("image/jpeg")
	Return result
End Function
VB   C#