<p>ملاحظات نانسي 2.0.0-clinteastwood</p>

تم إنشاؤها على ٢٢ ديسمبر ٢٠١٦  ·  8تعليقات  ·  مصدر: NancyFx/Nancy

إذا وجدت أي مشاكل ، فيرجى فتح مشكلة وتقديم أكبر قدر ممكن من المعلومات لمساعدتنا في تحديد مشكلتك. بدلاً من ذلك ، لا تتردد في إرسال طلب سحب إذا كنت تعتقد أنه يمكنك المساعدة في حل المشكلة. إذا كنت بحاجة إلى يد إرشادية حول كيفية البدء في طلبات السحب ، فيرجى إلقاء نظرة على إرشاداتنا للمساهمة . تأكد من أنك لا تفوت إرشادات الأسلوب ، فلن أفعل: د

ملاحظة: نظرًا لأن Nancy 2.0-clinteastwood هو إصدار ما قبل الإصدار ، فسيتعين عليك تثبيت الحزم باستخدام -pre toggle ، أي install-package Nancy -pre

الرجاء استخدام هذه المشكلة لنشر التعليقات التي لا تتعلق مباشرة بأي خطأ أو طلب سحب محدد تم الإبلاغ عنه.

لكى يفعل

فيما يلي قائمة بالمهام المحددة التي يجب تنفيذها في أعقاب إصدار 2.0.0-clinteastwood ويجب إكمالها قبل إصدار 2.0.0-dangermouse . قم بتحرير قائمة TODO وأضف العناصر كما تم العثور عليها ، أضف روابط لطلبات السحب التي تم إرسالها لإغلاقها

  • [x] تأكد من تعيين AsyncUsageAnalyzers على تبعية الإصدار في كل project.json و packages.config المثال الصحيح للنسخ المتطابق هنا - (طلب السحب # 2700 @ jchannon
  • [x] إزالة جميع ملفات *.nuspec القديمة في جميع المشاريع (بما في ذلك Nancy) (pull-request # 2658jchannon)
  • [x] تحديث Nancy.Hosting.Aspnet\project.json لتضمين web.config.transform في الحزمة (طلب السحب # 2661 @ thecodejunkie)
  • [x] تحديث Nancy.ViewEngines.Razor\project.json لتضمين app/web.config.transform في الحزمة (طلب السحب # 2661 @ thecodejunkie)
  • [] تحديث Nancy.ViewEngines.Razor\project.json لتضمين Nancy.ViewEngines.Razor.BuildProvider (بما في ذلك أهداف البناء) في الحزمة

التغييرات المخطط لها

  • [] قم بإزالة واحد من Request.Cookies و Request.Headers.Cookie انظر # 2628 للمناقشات
  • [] تحسين بناء جملة الخطاف قبل وبعد وقدرات # 2665
  • [] ابحث في "مشكلة الأداء المحتملة مع Nancy.Routing.Route.Invoke # 2623"
  • [] إضافة دعم التكوين للتفاوض على المحتوى. راجع # 2671 للمناقشة حول حل التمديد التلقائي
  • [] قم بتحديث البنية التحتية للاختبار لدعم معيار الشبكة ، راجع المشكلة رقم 2612 وطلب السحب رقم 2628
  • [] تحويل الأنظمة الفرعية المتبقية إلى غير متزامن ، راجع طلب السحب رقم 2577
  • [] قم بإزالة الأجزاء المتبقية المتبقية من StaticConfiguration

القيود المعروفة

  • قد تقوم بعض الحزم بتثبيت AsyncUsageAnalyzers كتبعية. يجب أن يكون هذا آمنًا ليتم إزالته ولن يتم تضمينه في 2.0.0-dangermouse حيث سيتم تمييزه على أنه تبعية بناء في جميع المشاريع
  • حزمة Nancy.Hosting.Aspnet لن تطبق *.config Transitions` ، لتوصيل الاستضافة ، سيكون عليك تطبيقها بنفسك
  • حزمة Nancy.ViewEngines.Razor لن تطبق تحويلات *.config ` لتوصيل خيارات تكوين محركات العرض ، سيكون عليك تطبيقها بنفسك
  • يفتقد موفرو الإنشاء مقابل Nancy.ViewEngines.Razor من حزمة NuGet ، مما يتسبب في مشاكل في إبراز بناء الجملة في عروض Nancy Razor
Improvement Epic

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

ذلك لأن الوحدة الأساسية لا تحتوي على مُنشئ يمكن أن ترضيه حاوية IoC. لا يعرف كيف يتعامل مع string . إذا لم يكن من المفترض أن يتم استدعاء BaseModule من تلقاء نفسه ، أقترح عليك جعله abstract ...

ال 8 كومينتر

يؤدي هذا إلى تجميع ، ولكنه يطرح وقت التشغيل NullReferenceException :

pipelines.BeforeRequest.AddItemToStartOfPipeline((ctx, _) =>
{
    // do stuff
    // Func<NancyContext, Response>, Func<NancyContext, CancellationToken, Response>
    return null;
});

هذا يعمل:

pipelines.BeforeRequest.AddItemToStartOfPipeline((ctx, _) =>
{
    //do stuff
    // Func<NancyContext, CancellationToken, Task<Response>>
    return Task<Response>.FromResult((Response)null);
});

استغرق الأمر قليلًا من ضرب رأسي بالحائط حتى اكتشفت أنه ليس مخادعًا للغاية ولا سعيدًا.

تضمين التغريدة لقد فتحت https://github.com/NancyFx/Nancy/issues/2665 لأنني أرغب في إجراء إصلاح شامل لأشياء خط الأنابيب بمجرد أن يكون لدينا الوقت لإلقاء نظرة على أداة التشغيل (والذي سيحدث في أقرب وقت لقد نقلتنا إلى تنسيق csproj الجديد وهذا يحدث الآن في # 2720)

حلق الياك! 😄

هذا الرمز يطرح استثناء ، هل هذا خطأ؟

ج #

فئة عامة BaseModule: NancyModule
{
العمومي BaseModule (سلسلة url): قاعدة (url)
{
// منطق مخصص
}
}

فئة عامة A: BaseModule
{
عام أ (): قاعدة ("urlA")
{

}

}

فئة عامة B: NancyModule
{
الجمهور ب ()
{

}

}


حدث System.InvalidOperationException
HResult = 0x80131509
رسالة = حدث خطأ ما عند محاولة تلبية إحدى التبعيات أثناء التكوين ، تأكد من تسجيل جميع التبعيات الجديدة في الحاوية وفحص الاستثناء الداخلي لمزيد من التفاصيل.
المصدر =
تتبع المكدس:
في Nancy.Bootstrapper.NancyBootstrapperBase 1.SafeGetNancyEngineInstance() at Nancy.Bootstrapper.NancyBootstrapperBase 1. GetEngine ()
في Nancy.Owin.NancyMiddleware.UseNancy (خيارات NancyOptions)
في Nancy.Owin.DelegateExtensions.UseNancy (الإجراء 1 builder, NancyOptions options) at PiggyBank.Site.Startup.<>c.<Configure>b__2_0(Action 1 x) في E: visual_studiopiggy-banksourcePiggyBank.SiteStartup.cs: السطر 31
في Microsoft.AspNetCore.Builder.OwinExtensions.UseOwin (IApplicationBuilder builder ، Action`1 pipeline)
في PiggyBank.Site.Startup.Configure (تطبيق IApplicationBuilder ، IHostingEnvironment env ، ILoggerFactory loggerFactory) في E: visual_studiopiggy-banksourcePiggyBank.SiteStartup.cs: السطر 31

الاستثناء الداخلي 1:
استثناء TinyIoCResolution: تعذر حل النوع: Nancy.NancyEngine

الاستثناء الداخلي 2:
TinyIoCResolutionException: تعذر حل النوع: Nancy.Routing.DefaultRequestDispatcher

الاستثناء الداخلي 3:
TinyIoCResolutionException: غير قادر على حل النوع: Nancy.Routing.DefaultRouteResolver

الاستثناء الداخلي 4:
TinyIoCResolutionException: تعذر حل النوع: Nancy.Routing.RouteCache

الاستثناء الداخلي 5:
TinyIoCResolutionException: تعذر حل النوع: BaseModule

الاستثناء الداخلي 6:
TinyIoCResolutionException: تعذر حل النوع: System.String

الاستثناء الداخلي 7:
TinyIoCResolutionException: تعذر حل النوع: System.Char []

الاستثناء الداخلي 8:
ArgumentNullException: لا يمكن أن تكون القيمة خالية.

""

ذلك لأن الوحدة الأساسية لا تحتوي على مُنشئ يمكن أن ترضيه حاوية IoC. لا يعرف كيف يتعامل مع string . إذا لم يكن من المفترض أن يتم استدعاء BaseModule من تلقاء نفسه ، أقترح عليك جعله abstract ...

عمر او قديم:

Get["post/{id}"] = Get["old/post/{id}"] = p =>{};

جديد (2.0):

?

الحصول على ("post / {id}"، MyMethod) ؛
احصل على ("old / post / {id}" ، MyMethod) ؛

الحصول على ("post / {id}"، MyMethod) ؛
احصل على ("old / post / {id}" ، MyMethod) ؛

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

ربما من الممكن أن يكون لديك بعض طريقة التحميل الزائد للتعبير بطلاقة؟ مثال:

Get("post/{id}")
.Get("old/post/{id}")
.Post("whatever/{id}", p => { return HttpStatusCode.Ok });

تعبير بديل

Get("post/{id}")
.Get("old/post/{id}")
.Post("whatever/{id}")
.Do(p => { return HttpStatusCode.Ok });

يمكنني الحصول على طعنة في العلاقات العامة إذا كان هذا مرغوبًا فيه

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