Самостоятельный хостинг Нэнси HttpListenerException: неверный параметр

Я установил исходный код NancyFX 0.23.2 через github и собираю VS2013 Pro на Windows 7 x64. Я могу строить нормально, но когда я возвращаю что-нибудь через GenericFileRespose, я получаю:

A first chance exception of type 'System.Net.HttpListenerException' occurred in System.dll
---
System.Net.HttpListenerException (0x80004005): The parameter is incorrect
   at System.Net.HttpResponseStream.Write(Byte[] buffer, Int32 offset, Int32 size)
   at System.IO.Stream.InternalCopyTo(Stream destination, Int32 bufferSize)
   at Nancy.Responses.GenericFileResponse.<>c__DisplayClass1.<GetFileContent>b__0(Stream stream) in h:\home\projects\nancy\0.23.2\Nancy\src\Nancy\Responses\GenericFileResponse.cs:line 82
   at Nancy.Hosting.Self.NancyHost.OutputWithDefaultTransferEncoding(Response nancyResponse, HttpListenerResponse response) in h:\home\projects\nancy\0.23.2\Nancy\src\Nancy.Hosting.Self\NancyHost.cs:line 320
   at Nancy.Hosting.Self.NancyHost.ConvertNancyResponseToResponse(Response nancyResponse, 
...

Если вместо этого я свяжусь с двоичными файлами Нэнси, полученными через nuget, мои результаты будут в порядке, но у меня нет информации для отладки для Нэнси.

Я запустил демонстрацию собственного хоста Нэнси, и, похоже, она работала нормально, но, черт возьми, я могу сказать, чем отличается мой проект. Все построено под "любой процессор". Nancy построена с целевым профилем клиента .net 4.0, цель Nancy.Hosting.Self заполнена .net 4.0, как и моя библиотека классов и мое консольное приложение, которое запускает NancyHost.

Приветствуется любое понимание.


person toquehead    schedule 04.10.2014    source источник


Ответы (1)


С таким же успехом я могу ответить на этот вопрос, поскольку никто другой не ответил.

Должно быть что-то подозрительное, потому что, когда я установил исходный код для Nancy.Serialization.JsonNet 0.23.2, он работал с Nancy 0.23.2, полученным через nuget, но не с исходным кодом Nancy 0.23.2 из github. JsonNetBodyDeserializer.Deserialize () ссылается на BindingContext.ValidModelProperties, но его нет в источнике Nancy 0.23.2; он был заменен на BindingContext.ValidModelBindingMembers (который включает свойства и поля).

Когда я извлек, скомпилировал и использовал исходный код для Nancy 0.23.1, Nancy.Serialization.JsonNet доволен, и мое исключение System.Net.HttpListener исчезло.

Итак, я решил использовать Nancy 0.23.1, но я до сих пор не знаю, почему 0.23.2 не работает.

person toquehead    schedule 08.01.2015