相关疑难解决方法(0)

为什么没有查询参数传递给我的NancyFX模块?

我正在我的应用程序中运行一个自托管的NancyFX Web服务器.现在我有一个托管的模块:

public class MetricsModule : NancyModule
{
    private IStorageEngine _storageEngine;

    public MetricsModule(IStorageEngine storageEngine) : base("/metrics")
    {
        _storageEngine = storageEngine;

        Get["/list"] = parameters =>
        {
            var metrics = _storageEngine.GetKnownMetrics();
            return Response.AsJson(metrics.ToArray());
        };

        Get["/query"] = parameters =>
        {
            var rawStart = parameters.start;
            var rawEnd = parameters.end;
            var metrics = parameters.metrics;

            return Response.AsJson(0);
        };
    }
}
Run Code Online (Sandbox Code Playgroud)

我的Bootstrapper类是:

public class OverlookBootStrapper : DefaultNancyBootstrapper
{
    private readonly IStorageEngine _storageEngine;

    public OverlookBootStrapper(IStorageEngine storageEngine)
    {
        _storageEngine = storageEngine;
    }

    protected override void ConfigureApplicationContainer(TinyIoCContainer container)
    {
        container.Register(_storageEngine); …
Run Code Online (Sandbox Code Playgroud)

c# nancy

12
推荐指数
1
解决办法
9995
查看次数

NancyFX:带有查询字符串参数的路由始终返回404 NotFound

我有一个简单的南希模块.我想将查询字符串(qs)参数传递给处理程序.如果我没有任何qs参数,一切都很好.一旦我添加了一个参数,我就会收到一个404状态代码.

NancyModule

public class SimpleModule : NancyModule
{
    public SimpleModule()
    {
        Get["/"] = parameters => HttpStatusCode.OK;
    }
}
Run Code Online (Sandbox Code Playgroud)

单元测试 - 通行证

[Fact]
public void SimpleModule__Should_return_statusOK_when_passing_query_params()
{
    const string uri = "/";
    var response = Fake.Browser().Get(uri, with => with.HttpRequest());
    response.StatusCode.ShouldBe(HttpStatusCode.OK);
}
Run Code Online (Sandbox Code Playgroud)

单元测试 - 失败

[Fact]
public void SimpleModule__Should_return_statusOK_when_passing_query_params()
{
    const string uri = "/?id=1";
    var response = Fake.Browser().Get(uri, with => with.HttpRequest());
    response.StatusCode.ShouldBe(HttpStatusCode.OK);
}
Run Code Online (Sandbox Code Playgroud)

谢谢

.net query-string nancy

11
推荐指数
1
解决办法
4161
查看次数

标签 统计

nancy ×2

.net ×1

c# ×1

query-string ×1