基于C#的Web应用程序中的路由

时间:2015-07-10 20:10:02

标签: c# routing web-frameworks

这不是一个普遍的问题,因为它是一个"你将如何处理它"如果这不属于这个特定的堆栈,那么道歉。我怎么会对在.net。

上构建的Web框架中如何做到这一点感到好奇

Spring和ASP都有路由的概念。在Rails中,我们有一个路由文件,经过一些箍和跳转后由Web服务器处理。在PHP中,我们有.htaccess文件,指出这是index.php文件所在的位置,运行该文件。

但是,如果要构建一个非常简单的骨头,非常基本的C#Web框架,它们将如何处理路由?有没有这些类型的简单(关键词:简单)Web框架的例子,这些框架允许我四处寻找并更多地了解如何处理像路由这样的事情?

更新

我应该声明我不想了解如何使用路由,但是如何在基于C#的Web框架中实现路由。是XML文件吗?有没有htaccess文件?

因此我要求一个可能用于API的小型Web框架,所以我可以更好地理解,这就是你在用c#编写的基于.net的web框架中实现路由的方法

3 个答案:

答案 0 :(得分:2)

IIS中有处理程序映射部分,您可以在其中为要支持的自定义扩展指定处理程序。您可以定义自己的HTTPHandler并在IIS或web.config中注册它们。

就Web API或MVC而言,框架提供了无扩展的url处理程序。您可以在web.config文件中找到它们的引用,该文件使用您在应用程序启动期间提供的Route映射来查找URL的匹配路由。它使用各种约定来匹配URL的最佳操作。如果您想自己实现处理程序,还可以自定义您的约定或配置。

更多信息 https://msdn.microsoft.com/en-us/library/cc668201%28v=vs.140%29.aspx

答案 1 :(得分:1)

asp.net中的路由内置于您的代码中。您可以通过几种方式定义路线。如果要使用API​​路由,可以使用控制器上的route属性和操作来定义它,也可以在路由配置类中定义它们。开箱即用的asp.net模板是了解它们如何工作的良好起点。另请在MSDN网站上阅读有关此处https://msdn.microsoft.com/en-us/library/cc668201(v=vs.140).aspx

的路由信息

答案 2 :(得分:1)

.htaccess是一个Apache概念,所以它并不真正适用于通常在IIS上运行的C#Web应用程序。

基于C#的Web框架中的路由以多种不同方式处理。有些使用XML,有些则不使用。 ASP.NET MVC中内置的路由机制使用方法/控制器上的命名约定和可选属性(属性路由)。

如果要实现自己的路由,可以编写一个HTTP模块来检查传入的URL,并将它们与给定的重写规则集进行比较。这些重写规则可以存储在XML文件,文本文件,数据库中,也可以存储在任何您想要的地方。

相关问题