c# - وفوائده - نسبة الكربوهيدرات في البيض




ASP.Net ويب أبي-أبيكسلورر لا يحتوي على أي أبيديسكريبتيونس (2)

يجب أن تتطلع إلى الترقية إلى رتم من ويبابي الذي تم إصداره أمس ثم تحقق من صفحة تعليمات ويب ويبابي التي تم إصدارها مؤخرا (بريفيو) التي تم إصدارها أمس أيضا.

تعمل هذه الحزمة تلقائيا على إنشاء محتوى صفحة المساعدة لواجهات برمجة تطبيقات الويب على موقعك. يمكن لزوار صفحة المساعدة استخدام هذا المحتوى للتعرف على كيفية الاتصال بواجهات برمجة التطبيقات على الويب. كل شيء تم إنشاؤه بواسطة صفحة المساعدة قابلة للتخصيص بشكل كامل باستخدام ASP.NET مفك و رازور.

وهي تنفذ أبيكسلورر تحت الأغطية.

أحاول تنفيذ أسلوب "خيارات" في وحدة تحكم من خدمة الويب التي ستعرض رسالة تحتوي على أساليب هتب صالحة لنقطة نهاية عنوان أوري المقترنة مع وحدة التحكم. تبدو طريقة خياراتي مشابهة لما يلي:

public HttpResponseMessage Options()
{
    var resp = new HttpResponseMessage();
    resp.Content = new StringContent("");

    var apiExplorer = GlobalConfiguration.Configuration.Services
        .GetApiExplorer();

    foreach (ApiDescription api in apiExplorer.ApiDescriptions)
    {
        resp.Content.Headers.Add("Allow", api.HttpMethod.Method);
    }

    return resp;
}

لقد حاولت الأسلوب أعلاه في مشروع جديد أبي ويب العلامة التجارية (ضمنا: التوجيه دون تغيير) داخل وحدة تحكم مع الحصول على، طرق، وحذف. كما هو متوقع، يتم إرجاع استجابة مع "ألو: جيت، بوست، ديليت". أواجه مشكلة، ومع ذلك، إضافة هذا إلى مشروع أكبر أن أعمل على. في المشروع الأكبر، قائمة أبيديسكريبتيونس ضمن أبيكسلورر لا تحتوي على أي عناصر. لماذا هذا؟ وأظن أنه بسبب التوجيه المخصص الذي تم تنفيذه، على الرغم من أن الأساس الوحيد لهذا الاشتباه هو الرابط التالي:

http://forums.asp.net/t/1821651.aspx/1

هل تعرض أي شخص آخر لقائمة أبيديسكريبتيون الفارغة هذه؟ إذا كان الأمر كذلك، هل وجدت علاج؟

ملاحظة: أنا باستخدام مكف 4 أرسي


الحل لهذه المشكلة هو التعليق في بروجكتنام \ المناطق \ هلباج \ كونترولرز \ HelpController.cs منشئات مثل هذا:

    public class HelpController : Controller
        {
            private const string ErrorViewName = "Error";

    //        public HelpController()
    //            : this(GlobalConfiguration.Configuration)
    //        {
    //        }

    //        public HelpController(HttpConfiguration config)
    //        {
    //            Configuration = config;
    //        }

            /// <summary>
            /// GlobalConfiguration By default
            /// </summary>
            protected static HttpConfiguration Configuration
            {
                get { return GlobalConfiguration.Configuration; }
            }

            public ActionResult Index()
            {
                ViewBag.DocumentationProvider = Configuration.Services.GetDocumentationProvider();
                return View(Configuration.Services.GetApiExplorer().ApiDescriptions);
            }
....

لا يتم استدعاء منشئ الافتراضي.

الطريقة الثانية لحقن منشئ الافتراضي بإضافة هذه السمة [إنجكتيونكونستروكتور] على منشئ الافتراضي مثل هذا:

public class HelpController : Controller
    {
        private const string ErrorViewName = "Error";

         [InjectionConstructor]
        public HelpController()
            : this(GlobalConfiguration.Configuration)
        {
        }

        public HelpController(HttpConfiguration config)
        {
            Configuration = config;
        }

        /// <summary>
        /// GlobalConfiguration By default
        /// </summary>
        protected static HttpConfiguration Configuration { get; private set; }
....




asp.net-mvc-apiexplorer