2016-04-15 3 views
0

Я пытаюсь использовать Nancy в .NET 4.6.1 (Visual Studio 2015 Update 2). Когда я создаю консольное приложение, которое ссылается на .NET 4.6.1 Framework на основе приведенных ниже ссылок &, я вижу Microsoft.CSharp.RuntimeBinder.RuntimeBinderException между моим собственным примером Stub и Nancy.Response, не получая ни одного выхода JSON. Есть ли что-то, что мне не хватает на Super-Duper-Happy-Path? Я понимаю, что я не указал представление, но я намереваюсь называть этот ресурс, используя заголовок accept: Accept: application/json. Я выполняю Visual Studio как «Администратор», а ОС - это Windows 7 x64 (с большинством последних обновлений).Nancy Self-Hosted RunTimeBinderException

Program.cs:

using System; 

namespace SelfHostedTest 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      var host = new SelfHoster(); 

      host.Create("http://localhost:8002"); 
      Console.WriteLine("Started"); 
      Console.ReadLine(); 

      host.Destroy(); 
     } 
    } 
} 

RootModule.cs:

using Nancy; 

namespace SelfHostedTest 
{ 
    public class Stub 
    { 
     public int Number { get; set; } 
     public string Message { get; set; } 
    } 

    public class RootModule : NancyModule 
    { 
     public RootModule() 
     { 
      Get["/"] = _ => new Stub() {Message = "Hello", Number = 1}; 
     } 
    } 
} 

SelfHoster.cs:

using System; 
using Nancy; 
using Nancy.Hosting.Self; 

namespace SelfHostedTest 
{ 
    public class SelfHoster 
    { 
     private NancyHost _host; 
     public void Create(string url) 
     { 
      _host = new NancyHost(new Uri(url), new DefaultNancyBootstrapper()); 
      _host.Start(); 
     } 

     public void Destroy() 
     { 
      _host?.Stop(); 
     } 
    } 
} 

Литература:

Microsoft.CSharp 
Nancy (1.4.3) 
Nancy.Hosting.Self (1.4.1) 
Nancy.Serialization.JsonNet (1.4.1) 
Newtonsoft.Json (8.0.3) 
System 
System.Core 
System.Data 
System.Data.DataSetExtensions 
System.Net.Http 
System.Xml 
System.Xml.Linq 

Моя конечная цель - разместить это в автономном модуле OWIN с помощью websockets, но я разделил его на этот пример, чтобы попытаться изолировать мою проблему.

ответ

0

Я использовал браузер HAL (загружаемый в мою файловую систему) с пользовательским заголовком Accept: application/json, но так и не получил ответа. Я переключился на Fiddler, и теперь он работает так, как ожидалось.

Смежные вопросы