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();
}
}