Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 路由定义可选参数_.net_Nancy - Fatal编程技术网

.net 路由定义可选参数

.net 路由定义可选参数,.net,nancy,.net,Nancy,我想在Nancy模块中处理下面的Get请求 http://localhost:9988/myapp/home/admin 其中,/admin是可选参数值 为此,我定义了如下路线 Get["/myapp/home/{role?}"] = parameters => { Console.WriteLine("Optional...."); string role = parameters.role;

我想在Nancy模块中处理下面的Get请求

http://localhost:9988/myapp/home/admin 
其中,
/admin
是可选参数值

为此,我定义了如下路线

    Get["/myapp/home/{role?}"] = parameters =>
        {
            Console.WriteLine("Optional....");
            string role = parameters.role;


            Console.WriteLine("region-->" + role);

            return Response.AsRedirect(ADMIN_URL);


            };
这有什么不对。此路由无法处理以下URL

http://localhost:9988/myapp/home/user

http://localhost:9988/myapp/home


在尝试上面的URL时,它给了我404错误。

乍一看,它看起来不错。。您确定基本路径etc正确吗?非可选路由工作吗?不,非可选路由也不工作。如果您有不同的问题:-)您的模块没有被拾取(它们是公共的吗?),程序集没有加载(它们在单独的程序集中吗?),或者您在不需要时将基本路径放入路由(“/myapp”)。如果我只是删除“/{role?}”在route中,它工作得很好,URL就像它接受的一样。。你刚才说非可选路线不起作用:-)