دليل C# / .NET مع AllStak

أضف تتبّع الأخطاء ومراقبة الطلبات إلى تطبيق ASP.NET Core عبر حزمة AllStak على NuGet.

المستودع المصدر:
AllStak/allstak-dotnet
مسار README:
README.md
إصدار الـ SDK:
0.3.0
مصدر التثبيت:
NuGet
آخر تحقّق:
2026-05-31

التثبيت

ثبّت من NuGet (يستهدف net8.0 / net9.0).

dotnet add package AllStak

الإعداد

سجّل AllStak في الخدمات وأضف الوسيط.

using AllStak;

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddAllStak(options =>
{
    options.ApiKey = Environment.GetEnvironmentVariable("ALLSTAK_API_KEY");
    options.Environment = builder.Environment.EnvironmentName;
    options.Release = Environment.GetEnvironmentVariable("ALLSTAK_RELEASE");
    options.ServiceName = "checkout-api";
});

var app = builder.Build();
app.UseAllStak();

مثال أساسي

سجّل app.UseAllStak() بعد UseExceptionHandler وقبل UseRouting/UseEndpoints.

التقاط الأخطاء

التقط الاستثناءات المُعالَجة عبر وحدة Errors. (الطريقة المُتحقَّقة هي CaptureExceptionAsync؛ أما Errors.Capture في README فغير موجودة في المصدر.)

await AllStakClient.Instance.Errors.CaptureExceptionAsync(
    new InvalidOperationException("checkout failed"));

تتبّع الطلبات

يلتقط AllStakMiddleware (عبر app.UseAllStak()) الطلبات الواردة عندما تكون CaptureHttpRequests مفعّلة (الافتراضي)؛ وتُجهَّز نداءات HttpClient الصادرة تلقائيًا (InstrumentOutboundHttp)، و EF Core عبر UseAllStak في خيارات DbContext.

أفضل الممارسات

  • ضع UseAllStak() بعد UseExceptionHandler وقبل التوجيه.
  • اضبط ApiKey من متغيّر بيئة.
  • استخدم CaptureExceptionAsync (لا Errors.Capture الواردة في README) للالتقاط اليدوي.