Nancy自托管RunTimeBinderException

时间:2016-04-15 21:23:47

标签: c# nancy .net-4.6.1

我试图在.NET 4.6.1中使用Nancy(Visual Studio 2015 Update 2)。当我根据代码创建一个引用.NET 4.6.1 Framework的控制台应用程序时。下面的参考资料中,我在自己的示例Microsoft.CSharp.RuntimeBinder.RuntimeBinderExceptionStub之间看到Nancy.Response,但从未收到任何JSON输出。 Super-Duper-Happy-Path中是否有我遗漏的东西?我知道我还没有指定视图,但我只打算使用Accept: application/json的接受标头来调用此资源。我正在执行Visual Studio作为管理员'操作系统是Windows 7 x64(主要是最新的更新)。

的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

我的最终目标是将其置于带有websockets的OWIN自托管模块中,但我将其剥离回此示例以尝试隔离我的问题。

1 个答案:

答案 0 :(得分:0)

我正在使用HAL浏览器(下载到我的文件系统),其自定义标头为Accept: application/json,但从未收到过响应。我切换到Fiddler,它现在按预期工作。