Puis-je exécuter IronXL for .NET sur Azure ?

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

Oui. IronXL peut être utilisé sur Azure pour générer des codes QR et des codes-barres dans des applications C# et VB .NET, ainsi que pour lire des codes-barres et des codes QR à partir d'images scannées.

IronXL a été testé de manière approfondie sur plusieurs plateformes Azure, notamment les sites web MVC, Azure Functions, et bien d'autres encore.


Étape 1

1. Installer IronXL pour commencer

Première installation avec NuGet :https://www.nuget.org/packages/IronXL.Excel

Install-Package IronXL.Excel

Comment faire Tutoriel

2. Performances et niveaux Azure

Nous recommandons que les niveaux d'hébergement Azure B1 conviennent parfaitement aux besoins des bibliothèques de nos utilisateurs finaux. S'il s'agit d'un système à haut débit, il peut être nécessaire de l'améliorer.

3. Choix du cadre

Nous avons constaté qu'IronXL for Core et for Framework fonctionnent tous deux sur Azure. les applications Standard .NET semblent avoir un petit avantage en termes de vitesse et de stabilité, mais utilisent plus de mémoire en cours de traitement.

L'hébergement Azure gratuit est lent

Les niveaux gratuits et partagés d'Azure, ainsi que le plan de consommation, ne sont pas adaptés à QR Processing. Nous recommandons l'hébergement Azure B1/Plan Premium, que nous utilisons nous-mêmes.

4. Docker sur Azure

L'un des moyens d'acquérir la capacité de contrôler les performances sur Azure consiste à utiliser des applications et des fonctions IronXL à partir de conteneurs Docker.

Nous disposons d'uneDidacticiel IronXL Azure Docker pour les instances Linux et Windows et sa lecture est recommandée.

5. Support officiel des fonctions Azure

IronXL Support Azure Function(Azure Functions V3). Il n'a pas été testé avec la V4 jusqu'à présent mais il est dans notre file d'attente.

Exemple de code de fonction Azure

Testé sur Azure Functions v3.3.1.0+. Voici un exemple de 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.");
        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#