¿Puedo ejecutar IronBarcode con .NET en Azure?
¡Sí! IronBarcode se puede utilizar para leer y escribir códigos QR/códigos de barras en aplicaciones .NET alojadas en servicios de Azure. IronBarcode ha sido probado exhaustivamente en múltiples plataformas de Azure, incluidas las sitios web MVC, las Azure Functions y muchas más.
Requisitos previos
1. Instala IronBarcode para comenzar
Primero, instale el paquete NuGet en el sitio web de NuGet.
Install-Package BarCode
Como alternativa, la IronBarcode.dll también se podría descargar y añadir a tu proyecto.
Tutorial
2. Rendimiento y niveles de Azure
Recomendamos al menos usar el plan de servicio de Azure B1, ya que es adecuado para la mayoría de los casos de uso de nuestros usuarios. Los sistemas que requieren un mayor rendimiento necesitarán un plan de servicio superior.
3. Elección del marco
Los proyectos de .NET Standard, Core y Framework son todos compatibles con IronBarcode.
4. Docker en Azure
Una forma de obtener la capacidad de controlar el rendimiento y la estabilidad con IronBarcode en Azure es utilizar Docker. Para aprender a usar IronBarcode con Azure y Docker, echa un vistazo a este tutorial.
5. Soporte oficial de Azure Function
IronBarcode actualmente es compatible con Azure Functions V3 y V4.
Ejemplo de código de función Azure
Probado en Azure Functions v3.3.1.0+. Aquí hay un ejemplo de código:
[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