从 RequestContext 解析 MVC 路由自定义文件扩展名

发布于 2024-11-08 12:29:26 字数 421 浏览 6 评论 0原文

我已经设置了两个自定义扩展来在 IIS6 中启用 MVC。

因此,可以使用以下 URL 来访问该网站:

mysite/mycontroller.europe/myaction

或 ...

mysite/mycontroller.america/myaction

什么是从 RequestContext 实例查找扩展的最可靠方法吗?

所以我希望能够写一些类似的东西......

var location = reqContext.......GetExtenstion(); // location = "europe"

并且即使站点/目录的设置发生了一些变化,显然也能完成这项工作。

I have set up two custom extensions to enable MVC in IIS6.

So the site can be accessed with a URL of either something like...

mysite/mycontroller.europe/myaction

or like...

mysite/mycontroller.america/myaction

What is the most robust way of finding the extension from the RequestContext instance?

So I would like to be able to write something like...

var location = reqContext.......GetExtenstion(); // location = "europe"

and obviously have that work even if the setup of the site/directories changes a little.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

瘫痪情歌 2024-11-15 12:29:26

定义一条路线:

routes.MapRoute(
    "DefaultWithExtension",
    "{controller}.{extension}/{action}",
    new { controller = "Home", action = "Index", extension = "america" }
);

然后:

var extension = RequestContext.RouteData.GetRequiredString("extension");

Define a route:

routes.MapRoute(
    "DefaultWithExtension",
    "{controller}.{extension}/{action}",
    new { controller = "Home", action = "Index", extension = "america" }
);

and then:

var extension = RequestContext.RouteData.GetRequiredString("extension");
萌面超妹 2024-11-15 12:29:26

您还可以将扩展定义为控制器所有相关操作的字符串参数,在这种情况下,它将直接可用。
例如,

public ActionResult myaction(string extension)

这仍然需要上面定义的mapRoute条目。

Also you can just define extension as a string parameter for all relevant actions for the controllers, in which case it will be directly available.
e.g.

public ActionResult myaction(string extension)

This does still need the mapRoute entry defined above.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文