Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.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
C# 确定url是否与路由匹配,如果匹配,则提取术语_C#_Asp.net Mvc 2_Routing - Fatal编程技术网

C# 确定url是否与路由匹配,如果匹配,则提取术语

C# 确定url是否与路由匹配,如果匹配,则提取术语,c#,asp.net-mvc-2,routing,C#,Asp.net Mvc 2,Routing,我有一个很大的旧日志文件,我正试图按路径分解它 本质上,我得到的是一个路径(例如,/questions/31415)的输入和一个所有已注册用户的列表。我想要的是一个路由和路由中指定的参数(因此,/questions/{id}/{answer}我将得到id和answers输出) 我有一个有效的解决方案,基本上是动态生成一个讨厌的正则表达式,使用命名组进行匹配和解析。我的直觉告诉我,这是一种脆弱的方法,坦率地说,必须有更好的方法,对吗?路由调试器会有帮助吗?还附带了示例代码 这与通常与spring/

我有一个很大的旧日志文件,我正试图按路径分解它

本质上,我得到的是一个路径(例如,
/questions/31415
)的输入和一个所有已注册用户的列表。我想要的是一个
路由
和路由中指定的参数(因此,
/questions/{id}/{answer}
我将得到
id
answers
输出)


我有一个有效的解决方案,基本上是动态生成一个讨厌的正则表达式,使用命名组进行匹配和解析。我的直觉告诉我,这是一种脆弱的方法,坦率地说,必须有更好的方法,对吗?

路由调试器会有帮助吗?还附带了示例代码


这与通常与spring/REST一起使用的PathParameterFilter非常相似。 我再也没有到源代码的链接了,但是它有一些你需要的正则表达式。

我知道这是一个老问题,但万一有人通过谷歌来到这里,我就同一个问题提出并回答了我自己的问题。

你是在性能很重要的大批量中这样做,还是一次一个,你喜欢简单?@Nick-大批量,但很少。简单性和健壮性比性能更重要。我目前正在为每个日志条目动态生成正则表达式,性能可以接受。我不是100%确定,但我相信这样会对问题标题中的
/
进行编码,所以数组中的简单分块是一个选项,我确定我遗漏了一些其他因素,但它看起来像是一个
.split(“/”)
是这里最简单的解决方案,你有禁止这种情况的因素吗?@Nick-我以
/questions/{id}
路线为例,实际站点中有更复杂的路线。啊,明白了,我在寻找另一只鞋:)为了适应这种情况,我必须伪造一个HttpContext,这比它的价值要麻烦得多;而且可以说比我目前的解决方案更丑陋。