Aspnetcore: هل يمكنني استخدام المناطق في مشاريع واجهة برمجة تطبيقات الويب الأساسية Asp.net؟

تم إنشاؤها على ١٩ يناير ٢٠١٩  ·  3تعليقات  ·  مصدر: dotnet/aspnetcore

أنا أعمل في مشروع هو مشروع Asp.net الأساسي لواجهة برمجة تطبيقات الويب. معظم مشاريعي قمت بها بواسطة Asp.net MVC و Core MVC ، لكنني سأقوم بمشروع جديد يعتمد على Core Web API. في Core MVC ، لدينا مفهوم المناطق حيث يمكننا إنشاء مناطق للجزء المسؤول ، وما إلى ذلك .... ولكن أريد أن أعرف هل يمكننا استخدام المناطق في مشاريع Asp.net الأساسية لواجهة برمجة تطبيقات الويب؟ إذا كانت الإجابة بنعم ، فكيف أفعل ذلك؟ إذا كنت تفكر في أن هناك طريقة أفضل أخبرني ، من فضلك.

area-mvc

التعليق الأكثر فائدة

يمكنك وضع وحدات تحكم API الخاصة بك في منطقة ، فقط لتجميعها. لكنك تقدم المسار بشكل أساسي على وحدة التحكم ، حتى تتمكن من إنشاء طرق مختلفة بنفسك:
[Route("api/myarea/v1/[controller]")]

ال 3 كومينتر

يمكنك وضع وحدات تحكم API الخاصة بك في منطقة ، فقط لتجميعها. لكنك تقدم المسار بشكل أساسي على وحدة التحكم ، حتى تتمكن من إنشاء طرق مختلفة بنفسك:
[Route("api/myarea/v1/[controller]")]

لدي نفس المشكلة التي جربتها عن طريق وضع ApiController الخاص بي تحت منطقتي بحيث يبدو الهيكل كما يلي

هنا وحدة تحكم Api بالداخل

المناطق / GL / وحدات التحكم

[Area("GL")] [Route("api/[controller]")] [ApiController] [HttpGet] public IActionResult Get() { return Ok("api controller"); }

ولكن عندما أصل إلى عنوان URL الخاص بي
http: // localhost : 48357 / GL / Api / Get
أو
http: // localhost : 48357 / Api / GL / Get
أو
http: // localhost : 48357 / Api / Get
انا حصلت

كود الحالة: 404 ؛ لم يتم العثور على

هنا هو الكود في

Startup.cs

routes.MapAreaRoute( name: "AreaGL", areaName: "GL", template: "GL/{controller=Home}/{action=Index}/{id?}" );

الرجاء مساعدتي في هذه المسألة ، ما الخطأ الذي أفعله هنا؟

شكرًا على تواصلك معنا ،farhadibehnam.
لكي تكون وحدات التحكم في المناطق ، يجب عليك تطبيق قيد المسار {area:exists} في مسار السمة ، كما هو موضح https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/areas؟ عرض = aspnetcore-2.2.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات