متعددة IHTTPactionResults تحصل ضمن فشل apicontroller واحد
-
21-12-2019 - |
سؤال
أنا ألعب مع webapi2 واتصل عبر مشكلة غريبة.
لقد قمت بتحديث القيمة الافتراضية الافتراضية لاستخدام IHTTPactionResult
مثل
giveacodicetagpre.عندما أحاول استدعاء الحصول على () ضمن ساعي البريد، أحصل على خطأ
{ "رسالة": "حدث خطأ." "استثناء": "تم العثور على إجراءات متعددة تتطابق مع الطلب: \ r \ nsystem.web.http.ihttpactionResult get () on type webawapplication1.controllers.valuescontroller \ r \ nsystem.web.http.ihttpactresult get2 () on type webApplication1 .Controllers.Valuescontroller "، "ExceptionType": "System.invalidoperationException"، "stacktrace": "stacktrace": "في system.web.http.controllers.apicontrolleractionselector.actionselationcacheeitem.selectaction (controldextextextextext) \ r \nفي system.web.http.controllers.apicontrolleractionselector.selectaction (httpcontrollercontext controlercontext) \ r \nفي النظام. Web.http.apicontroller.executeasync (httpcontrollercontext controldext، cancellationtoken cancellationtoken) \ r \nat system.web.http.dispatcher.http.http.dispatcher.httpcontrollerdispatcher.sendasynccore (طلب httprecestmessage، cancellationtoken cancellationtoken) \ r \nat system.web.http.dispatcher. httpcontrollerdispatcher.d__0.movenext () " }
أحتاج إلى إنشاء طريق يدويا لكل منهما للحصول على هذا للعمل؟
شيء بسيط جدا، ولكن تسبب لي صداع!
المحلول
ذلك لأن لديك طلبين الحصول على طلبات لا تأخذ أي معلمات، لذلك لا يوجد لديه WebAPI أي طريقة للتفريق بين الاثنين.طريقة واحدة ستكون لإعداد طرق مختلفة لكل طريقة كما تقول.أسهل طريقة للالتفاف حولها هي استخدام سمة توجيه السمة المكتبة التي تتيح لك تحديد طرق مختلفة في وحدة تحكم ومستويات العمل حقا ببساطة مثل هذا:
giveacodicetagpre.