我可以在Azure上用.NET运行IronBarcode吗?

This article was translated from English: Does it need improvement?
Translated
View the article in English

是的。 IronBarCode可以在Azure上使用,用于在C#和VB .NET应用程序中生成QR码和条形码,同时也可以从扫描的图像中读取条形码和QR码。

IronBarCode 已在多个 Azure 平台上进行了彻底测试,包括 MVC 网站、Azure Functions 等等。


步骤 1

1. 安装 IronBarcode 以开始使用

首先通过 NuGet 安装:https://www.nuget.org/packages/BarCode

Install-Package BarCode

教程

2. 性能与Azure层次

我们推荐Azure B1 托管级别非常适合我们终端用户的库需求。 如果他们正在创建一个高吞吐量系统,可能需要对其进行升级。

3. 框架选择

我们发现IronBarcode for Core和for Framework都可以在Azure上运行。 .NET Standard应用程序在速度和稳定性上似乎具有小的性能优势,但在处理中会使用更多的内存。

Azure 免费层托管速度慢

Azure免费和共享层以及消费计划不适合QR处理。 我们推荐使用Azure B1托管/高级计划,这也是我们自己使用的方案。

4. Azure 上的 Docker

在 Azure 上控制性能的一种方法是在 Docker 容器内使用 IronBarcode 应用和功能。

我们拥有全面的IronBarCode Azure Docker 教程Linux 和 Windows 实例,推荐阅读。

5. 官方 Azure 函数支持

IronBarCode支持Azure函数(Azure 函数 V3). 它到目前为止还没有经过V4测试,但它在我们的队列中。

Azure 函数代码示例

在 Azure Functions v3.3.1.0+ 上测试过。 这是示例代码

[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#