我可以在 Azure 上運行 IronXL for .NET 嗎?

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

是的。 IronXL 可以在 Azure 上用於生成 QR 和條碼於 C# 和 VB .NET 應用程式,同時也能從掃描圖像讀取條碼和 QR 碼。

IronXL 已在包括 MVC 網站、Azure 函式等多個 Azure 平台上進行了全面測試。


第一步

1. 安裝 IronXL 以開始使用

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

Install-Package IronXL.Excel

如何操作教程

2. 性能和 Azure 層次

我们推荐Azure B1托管级别非常适合我们终端用户的库需求。 如果他們正在建立一個高吞吐量的系統,這可能需要升級。

3. 框架選擇

我們發現IronXL for Core和for Framework都可以在Azure上運作。 .NET Standard 應用程序似乎在速度和穩定性上具有輕微的性能優勢,但在進程中使用了更多內存。

Azure 免費層主機速度慢

Azure 免費和共享層級,以及消費計劃,不適合 QR 處理。 我們推薦使用 Azure B1 主機/高級方案,這也是我們自己使用的。

4. 在 Azure 上的 Docker

使用 IronXL 應用程式和功能於 Docker 容器中,是控制 Azure 性能的一種方法。

我們提供全面的IronXL Azure Docker 教程適用於 Linux 和 Windows 實例,並建議閱讀。

5. 官方 Azure 函數支持

IronXL 支援 Azure 函數(Azure Functions 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.");
        IronXL.License.LicenseKey = "Key";
        var MyBarCode = BarcodeWriter.CreateBarcode("IronXL 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.");
        IronXL.License.LicenseKey = "Key";
        var MyBarCode = BarcodeWriter.CreateBarcode("IronXL 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.")
		IronXL.License.LicenseKey = "Key"
		Dim MyBarCode = BarcodeWriter.CreateBarcode("IronXL 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#