IronXL'yi .NET ile Azure'da Çalıştırabilir miyim?
Evet, IronXL Azure üzerinde C# ve VB .NET Uygulamalarında QR & Barkodlar oluşturmak ve ayrıca taranmış görüntülerden Barkod & QR Kodları okumak için kullanılabilir.
IronXL, birçok Azure platformunda, MVC web siteleri, Azure Fonksiyonları ve daha fazlası dahil olmak üzere kapsamlı bir şekilde test edilmiştir.
Adim 1
1. Başlamak için IronXL Kurun
İlk kurulum için NuGet'i kullanın: https://www.nuget.org/packages/IronXl.Excel
Install-Package IronXl.Excel
Nasıl Yapılır Eğitimi
2. Performans ve Azure Katmanları
Azure B1 barındırma seviyelerinin, nihai kullanıcılarımızın Kütüphane ihtiyaçları için çok uygun olduğunu öneriyoruz. Yüksek geçiş sistemi oluşturuyorlarsa, bu yükseltme gerektirebilir.
3. Çerçeve Seçimi
IronXL'nin hem Core hem de Framework için Azure'da çalıştığını belirledik. .NET Standard uygulamaların hız ve kararlılıkta küçük bir performans avantajı sağlıyor gibi görünse de, süreçte daha fazla bellek kullanıyor.
Azure ücretsiz katman barındırma yavaştır
Azure ücretsiz ve ortak katmanlar ve tüketim planı, QR işlemleri için uygun değildir. Azure B1 hosting/Premium planını öneriyoruz, biz de kendimiz bunu kullanıyoruz.
4. Azure'da Docker
Azure üzerinde performans kontrol yeteneği kazanmanın bir yolu, IronXL uygulamalarını ve Docker Containers içerisinden Fonksiyonları kullanmaktır.
Linux ve Windows örnekleri için kapsamlı bir IronXL Azure Docker eğitimi var ve okunmasını tavsiye ederiz.
5. Resmi Azure İşlev Desteği
IronXL, Azure Function (Azure Functions V3) ile uyumludur. Şimdiye kadar V4 ile test edilmedi, ancak sıramızda.
Azure İşlevi Kod Örneği
Azure Functions v3.3.1.0+ üzerinde test edilmiştir. İşte bir örnek kod:
using System.Net;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using IronXL;
using System.Net.Http.Headers;
// This is an Azure Function that processes an HTTP request and returns an Excel file
[FunctionName("excel")]
public static HttpResponseMessage Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
// Log the processing of the request
log.LogInformation("C# HTTP trigger function processed a request.");
// Set the IronXL license key
IronXl.License.LicenseKey = "Key";
// Load an existing workbook
var workBook = WorkBook.Load("test-wb.xlsx");
// Create a response with the workbook content as an attachment
var result = new HttpResponseMessage(HttpStatusCode.OK);
result.Content = new ByteArrayContent(workBook.ToByteArray());
result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
FileName = $"{DateTime.Now:yyyyMMddmm}.xlsx"
};
result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
// Return the response
return result;
}
using System.Net;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using IronXL;
using System.Net.Http.Headers;
// This is an Azure Function that processes an HTTP request and returns an Excel file
[FunctionName("excel")]
public static HttpResponseMessage Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
// Log the processing of the request
log.LogInformation("C# HTTP trigger function processed a request.");
// Set the IronXL license key
IronXl.License.LicenseKey = "Key";
// Load an existing workbook
var workBook = WorkBook.Load("test-wb.xlsx");
// Create a response with the workbook content as an attachment
var result = new HttpResponseMessage(HttpStatusCode.OK);
result.Content = new ByteArrayContent(workBook.ToByteArray());
result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
FileName = $"{DateTime.Now:yyyyMMddmm}.xlsx"
};
result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
// Return the response
return result;
}
Imports System.Net
Imports Microsoft.Azure.WebJobs
Imports Microsoft.Azure.WebJobs.Extensions.Http
Imports Microsoft.AspNetCore.Http
Imports Microsoft.Extensions.Logging
Imports IronXL
Imports System.Net.Http.Headers
' This is an Azure Function that processes an HTTP request and returns an Excel file
<FunctionName("excel")>
Public Shared Function Run(
<HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route:=Nothing)> req As HttpRequest,
log As ILogger) As HttpResponseMessage
' Log the processing of the request
log.LogInformation("C# HTTP trigger function processed a request.")
' Set the IronXL license key
IronXl.License.LicenseKey = "Key"
' Load an existing workbook
Dim workBook = WorkBook.Load("test-wb.xlsx")
' Create a response with the workbook content as an attachment
Dim result = New HttpResponseMessage(HttpStatusCode.OK)
result.Content = New ByteArrayContent(workBook.ToByteArray())
result.Content.Headers.ContentDisposition = New ContentDispositionHeaderValue("attachment") With {
.FileName = $"{DateTime.Now:yyyyMMddmm}.xlsx"
}
result.Content.Headers.ContentType = New MediaTypeHeaderValue("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
' Return the response
Return result
End Function
Sıkça Sorulan Sorular
.NET uygulamalarını Azure'da nasıl çalıştırabilirim?
IronXL'yi kullanarak .NET uygulamalarınızı Azure'da çalıştırabilirsiniz. C# ve VB .NET uygulamalarında QR ve Barkod oluşturma ve taranmış görüntülerden okuma imkanı tanır. MVC web siteleri ve Azure Fonksiyonları dahil olmak üzere çeşitli Azure platformlarında test edilmiştir.
Optimum performans için önerilen Azure barındırma seviyeleri nelerdir?
IronXL ile optimum performans için Azure B1 barındırma seviyelerini öneriyoruz. Yüksek aktarım hızı tasarlıyorsanız, daha yüksek bir seviyeye yükseltmeyi düşünün.
Hangi .NET çerçevesi Azure'da daha iyi çalışır?
IronXL, hem .NET Core hem de .NET Framework üzerinde Azure ile çalışır. Ancak, .NET Standard uygulamaları hız ve istikrar konusunda bir performans üstünlüğü sağlar ama artan bellek kullanımı ile birlikte.
Azure'un ücretsiz katmanı QR işleme için yeterli mi?
Azure'un ücretsiz ve paylaşılan katmanları ile tüketim planı, IronXL ile QR işlemeye önerilmez. Daha iyi performans için Azure B1 barındırmayı veya Premium planını öneriyoruz.
Docker, Azure'da IronXL uygulamalarını yönetmek için kullanılabilir mi?
Evet, Docker'ı, Azure'da IronXL uygulamaları ve fonksiyonlarını yönetmek için kullanabilirsiniz. Bu yapılandırma, performans üzerinde daha iyi kontrol sağlar. Hem Linux hem de Windows örnekleri için ayrıntılı bir Azure Docker öğreticisi bulunmaktadır.
IronXL, Azure Fonksiyonlarını destekler mi?
Evet, IronXL, Azure Fonksiyonları V3'ü destekler. Azure Fonksiyonları V4 için testler sürüyor ve gelecekte desteği genişletmeyi planlıyoruz.
IronXL'yi Azure'da kullanmak için nasıl kurabilirim?
IronXL'yi NuGet kullanarak nuget install IronXl.Excel komutunu yazarak kurabilirsiniz.
IronXL'nin Azure Fonksiyonları ile kullanımına dair bir örnek var mı?
Evet, makalede bir HTTP isteğini işleyen ve bir Excel dosyası döndüren örnek bir Azure Fonksiyonu kodu bulunmaktadır. Bu örnek, Azure Fonksiyonları v3.3.1.0+ üzerinde test edilmiştir.

