<p>Нэнси 2.0.0-клинтиствуд отзывы</p>

Созданный на 22 дек. 2016  ·  8Комментарии  ·  Источник: NancyFx/Nancy

Если вы обнаружите какие-либо проблемы, пожалуйста, откройте проблему и предоставьте как можно больше информации, чтобы помочь нам определить вашу проблему. В качестве альтернативы, не стесняйтесь отправлять запрос на включение, если вы думаете, что можете помочь решить проблему. Если вам нужна помощь в том, как начать работу с запросами на включение, ознакомьтесь с нашими рекомендациями по содействию . Убедитесь, что вы не пропустите рекомендации по стилю , я не буду :D

ПРИМЕЧАНИЕ. Поскольку Nancy 2.0-clinteastwood является предварительной версией, вам придется устанавливать пакеты с помощью переключателя -pre , т.е. install-package Nancy -pre

Пожалуйста, используйте эту проблему для публикации комментариев, которые не связаны напрямую с какой-либо конкретной зарегистрированной ошибкой или запросом на включение.

СДЕЛАТЬ

Ниже приведен список определенных задач, которые необходимо выполнить после выпуска 2.0.0-clinteastwood и которые должны быть завершены до выпуска 2.0.0-dangermouse . Редактируйте TODO-лист и добавляйте пункты по мере их нахождения, добавляйте ссылки на пулл-реквесты, которые отправляются на их закрытие

  • [x] Убедитесь, что для AsyncUsageAnalyzers установлена ​​зависимость сборки во всех project.json и packages.config Правильный пример для отражения здесь — (запрос на извлечение # 2700 @jchannon
  • [x] Удалить все старые файлы *.nuspec во всех проектах (включая Нэнси) (pull-request #2658 @jchannon)
  • [x] Обновите Nancy.Hosting.Aspnet\project.json , чтобы включить в пакет web.config.transform (pull-request #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.
  • [ ] Преобразовать оставшиеся подсистемы в асинхронные, см. pull-request #2577
  • [ ] Удалить последние оставшиеся части StaticConfiguration

Известные ограничения

  • Некоторые пакеты могут устанавливать AsyncUsageAnalyzers как зависимость. Это должно быть безопасно удалено и не будет включено в 2.0.0-dangermouse , поскольку оно будет помечено как зависимость сборки во всех проектах.
  • Пакет Nancy.Hosting.Aspnet не будет применять преобразования *.config `, чтобы подключить хостинг, вам придется применить его самостоятельно
  • Пакет 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);
});

Мне пришлось немного побиться головой о стену, пока я не понял, что не является ни супер-пупер, ни счастливым.

@danbarua спасибо. Я открыл https://github.com/NancyFx/Nancy/issues/2665 , потому что хочу пересмотреть материал конвейера, как только у нас будет время взглянуть на загрузчик (что произойдет, как только Я перевел нас на новый формат csproj и это происходит сейчас в #2720)

БРИТЬЯ ЯКА! 😄

Этот код вызывает исключение, это ошибка?

```С#

открытый класс BaseModule: NancyModule
{
общедоступный BaseModule (строка URL): база (URL)
{
//Пользовательская логика
}
}

открытый класс A: BaseModule
{
общедоступный () : база («urlA»)
{

}

}

открытый класс B: NancyModule
{
общественный Б ()
{

}

}


Произошло исключение System.InvalidOperationException.
HResult=0x80131509
Message=Что-то пошло не так при попытке удовлетворить одну из зависимостей во время композиции, убедитесь, что вы зарегистрировали все новые зависимости в контейнере, и проверьте внутреннее исключение для получения более подробной информации.
Источник=
Трассировки стека:
в Nancy.Bootstrapper.NancyBootstrapperBase 1.SafeGetNancyEngineInstance() at Nancy.Bootstrapper.NancyBootstrapperBase 1.GetEngine()
в Nancy.Owin.NancyMiddleware.UseNancy (параметры NancyOptions)
в Nancy.Owin.DelegateExtensions.UseNancy(Action 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, конвейер Action`1)
в PiggyBank.Site.Startup.Configure (приложение IApplicationBuilder, IHostingEnvironment env, ILoggerFactory loggerFactory) в E:visual_studiopiggy-banksourcePiggyBank.SiteStartup.cs:строка 31

Внутреннее исключение 1:
TinyIoCResolutionException: невозможно разрешить тип: 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):

?

Get("post/{id}", MyMethod);
Получить("старый/пост/{id}", MyMethod);

Get("post/{id}", MyMethod);
Получить("старый/пост/{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 рейтинги