我可以在 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. 安裝 IronBarcode 以開始使用

首先使用 NuGet 安裝: https://www.nuget.org/packages/BarCode

Install-Package BarCode

如何操作教程

2. 性能和Azure等級

我們建議Azure B1 主機等級非常適合我們終端使用者的庫需求。如果他們正在建立高吞吐量的系統,可能需要進行升級。

3. 框架選擇

我們發現IronBarcode for Core和Framework都可以在Azure上運行。.NET Standard應用程式在速度和穩定性方面似乎有一點性能優勢,但會使用更多的記憶體。

Azure 免費層託管速度慢

Azure 免費和共享層以及消費計劃不適合 QR 處理。我們建議使用我們自己使用的 Azure B1 託管/高級計劃。

4. 在 Azure 上使用 Docker

在 Azure 上控制性能的一種方法是使用 Docker 容器內的 IronBarcode 應用程式和功能。

我們有一個完整的 IronBarCode Azure Docker 教程 適用於 Linux 和 Windows 實例,並建議閱讀。

5. 正式支持 Azure Functions

IronBarcode 支持 Azure Functions (Azure Functions V3). 到目前為止還沒有用 V4 測試過,但它在我們的排程中。

工作中的 Azure Function 代碼範例

已在 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#