رفتن به محتوای اصلی
Khodet.Services برای ASP.NET Core

بک‌اند و پنل مدیریت آماده، برای پروژه‌ی دات‌نت تو

توکن بخر، پنل اختصاصی و پکیج NuGet را تحویل بگیر و فقط روی ظاهر سایت تمرکز کن. محصولات، محتوا، تورها، کاربران و پشتیبانی آنلاین — همه از یک پنل فارسی.

  • پنل مدیریت اختصاصینام کاربری و رمز همان لحظه بعد از پرداخت
  • توکن API اختصاصیقفل‌شده روی پلتفرم خودت، قابل تعویض در صورت نشت
  • دانلود پکیج NuGetهمه‌ی نسخه‌ها، از پنل یا با توکن در CI/CD
  • راهنمای کامل در پنلنمونه‌کد برای هر سرویس، با توکن خودت
پلن‌ها

توکن توسعه‌دهنده

پرداخت آنلاین و تحویل فوری. پلن را انتخاب کن و فرم را کامل کن.

اطلاعات خریدار و پلتفرم

درگاه پرداخت هنوز فعال نشده است؛ برای خرید با پشتیبانی تماس بگیرید.
شروع سریع

نصب در سه قدم

راهنمای کامل (تورها، ثبت‌نام، چت و ...) با توکن واقعی، بعد از خرید در پنل نمایش داده می‌شود.

۱

نصب پکیج

فایل Khodet.Services.x.y.z.nupkg را بعد از خرید از پنل دریافت کنید و در پوشه‌ای مثل packages کنار پروژه قرار دهید:

dotnet nuget add source ./packages --name khodet
dotnet add package Khodet.Services --source khodet
۲

تنظیم Program.cs

سرویس‌ها با توکن شما ثبت می‌شوند و در اولین درخواست، اتصال پلتفرم از سرور خودت دریافت و در Session نگه داشته می‌شود.

using Khodet.Services;
using Khodet.Middleware;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddDistributedMemoryCache();
builder.Services.AddSession();
builder.Services.AddPlatformServices(builder.Configuration["Khodet:ApiKey"]!);

var app = builder.Build();
app.UseSession();
app.UsePlatformInitialization(Guid.Parse(builder.Configuration["Khodet:PlatformId"]!));

appsettings.json (توکن را در سورس‌کنترل قرار ندهید؛ از User Secrets یا متغیر محیطی استفاده کنید):

{
  "Khodet": {
    "ApiKey": "kd_live_xxxxxxxxxxxxxxxxxxxxxxxx",
    "PlatformId": "00000000-0000-0000-0000-000000000000"
  }
}
۳

استفاده از داده‌ها

سرویس‌ها را در Controller، Razor Page یا کامپوننت تزریق کنید:

public class HomeController(
    IProductService products,
    ICategoryService categories,
    IContentService contents,
    ISettingViewService settings) : Controller
{
    public async Task<IActionResult> Index()
    {
        ViewBag.Products = await products.GetAllProductsAsync(page: 1, pageSize: 12);
        ViewBag.Categories = await categories.GetCategoryTreeAsync();
        ViewBag.Posts = await contents.GetRecentContentsAsync(take: 3);
        ViewBag.Site = await settings.GetSiteSettingsAsync();
        return View();
    }
}