我应该对 Asp.NET Web-api 路由使用 RouteParameter 还是 UrlParameter?

2024-01-06

我见过两者都被使用,所以我想知道,它们做相同的事情还是不同的事情?如果是后者,有什么区别呢?

我尝试通过查看 Visual Studio MVC 4 (rc) Web api 模板来自己回答这个问题,但遗憾的是它同时使用了两者,所以我的困惑仍然存在。该模板包含以下内容:

public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
    }
}

Use RouteParameter对于 Web Api 路由(.MapHttpRoute) and UrlParameter对于标准 MVC 控制器路由(.MapRoute)。如您所知,标准 MVC 和 Web API 在程序集和命名空间方面是两个完全不同的 API,即使两者非常相似。例如,您可以在控制台应用程序中自行托管您的 Web API,因此您甚至不需要引用System.Web.Mvc组装,你当然会使用RouteParameter在这种情况下。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我应该对 Asp.NET Web-api 路由使用 RouteParameter 还是 UrlParameter? 的相关文章

  • 通过 CMIS (dotCMIS) 连接到 SP2010:异常未经授权

    我正在使用 dotCMIS 并且想要简单连接到我的 SP2010 服务器 我尝试用 C 来做到这一点 如下所示http chemistry apache org dotnet getting started with dotcmis htm
  • WCF RIA 服务 - 加载多个实体

    我正在寻找一种模式来解决以下问题 我认为这很常见 我正在使用 WCF RIA 服务在初始加载时将多个实体返回给客户端 我希望两个实体异步加载 以免锁定 UI 并且我想利用 RIA 服务来执行此操作 我的解决方案如下 似乎有效 这种方法会遇到
  • GLKit的GLKMatrix“列专业”如何?

    前提A 当谈论线性存储器中的 列主 矩阵时 列被一个接一个地指定 使得存储器中的前 4 个条目对应于矩阵中的第一列 另一方面 行主 矩阵被理解为依次指定行 以便内存中的前 4 个条目指定矩阵的第一行 A GLKMatrix4看起来像这样 u
  • 按成员序列化

    我已经实现了template
  • 秒表有最长运行时间吗?

    多久可以Stopwatch在 NET 中运行 如果达到该限制 它会回绕到负数还是从 0 重新开始 Stopwatch Elapsed返回一个TimeSpan From MSDN https learn microsoft com en us
  • 查找c中结构元素的偏移量

    struct a struct b int i float j x struct c int k float l y z 谁能解释一下如何找到偏移量int k这样我们就可以找到地址int i Use offsetof 找到从开始处的偏移量z
  • Asp.NET WebApi 中类似文件名称的路由

    是否可以在 ASP NET Web API 路由配置中添加一条路由 以允许处理看起来有点像文件名的 URL 我尝试添加以下条目WebApiConfig Register 但这不起作用 使用 URIapi foo 0de7ebfa 3a55
  • 嵌套接口:将 IDictionary> 转换为 IDictionary>?

    我认为投射一个相当简单IDictionary
  • 类模板参数推导 - clang 和 gcc 不同

    下面的代码使用 gcc 编译 但不使用 clang 编译 https godbolt org z ttqGuL template
  • Clang 3.1 + libc++ 编译错误

    我已经构建并安装了 在前缀下 alt LLVM Clang trunk 2012 年 4 月 23 日 在 Ubuntu 12 04 上成功使用 GCC 4 6 然后使用此 Clang 构建的 libc 当我想使用它时我必须同时提供 lc
  • 创建链表而不将节点声明为指针

    我已经在谷歌和一些教科书上搜索了很长一段时间 我似乎无法理解为什么在构建链表时 节点需要是指针 例如 如果我有一个节点定义为 typedef struct Node int value struct Node next Node 为什么为了
  • 将多个表映射到实体框架中的单个实体类

    我正在开发一个旧数据库 该数据库有 2 个具有 1 1 关系的表 目前 我为每个定义的表定义了一种类型 1Test 1Result 我想将这些特定的表合并到一个类中 当前的类型如下所示 public class Result public
  • while 循环中的 scanf

    在这段代码中 scanf只工作一次 我究竟做错了什么 include
  • 如何在整个 ASP .NET MVC 应用程序中需要授权

    我创建的应用程序中 除了启用登录的操作之外的每个操作都应该超出未登录用户的限制 我应该添加 Authorize 每个班级标题前的注释 像这儿 namespace WebApplication2 Controllers Authorize p
  • 这些作业之间是否存在顺序点?

    以下代码中的两个赋值之间是否存在序列点 f f x 1 1 x 2 不 没有 在这种情况下 标准确实是含糊不清的 如果你想确认这一点 gcc 有这个非常酷的选项 Wsequence point在这种情况下 它会警告您该操作可能未定义
  • 如何使用 C# / .Net 将文件列表从 AWS S3 下载到我的设备?

    我希望下载存储在 S3 中的多个图像 但目前如果我只能下载一个就足够了 我有对象路径的信息 当我运行以下代码时 出现此错误 遇到错误 消息 读取对象时 访问被拒绝 我首先做一个亚马逊S3客户端基于我的密钥和访问配置的对象连接到服务器 然后创
  • 向现有 TCP 和 UDP 代码添加 SSL 支持?

    这是我的问题 现在我有一个 Linux 服务器应用程序 使用 C gcc 编写 它与 Windows C 客户端应用程序 Visual Studio 9 Qt 4 5 进行通信 是什么very在不完全破坏现有协议的情况下向双方添加 SSL
  • cmake 将标头包含到每个源文件中

    其实我有一个简单的问题 但找不到答案 也许你可以给我指一个副本 所以 问题是 是否可以告诉 cmake 指示编译器在每个源文件的开头自动包含一些头文件 这样就不需要放置 include foo h 了 谢谢 CMake 没有针对此特定用例的
  • C# - OutOfMemoryException 在 JSON 文件上保存列表

    我正在尝试保存压力图的流数据 基本上我有一个压力矩阵定义为 double pressureMatrix new double e Data GetLength 0 e Data GetLength 1 基本上 我得到了其中之一pressur
  • 如何在文本框中插入图像

    有没有办法在文本框中插入图像 我正在开发一个聊天应用程序 我想用图标图像更改值 等 但我找不到如何在文本框中插入图像 Thanks 如果您使用 RichTextBox 进行聊天 请查看Paste http msdn microsoft co

随机推荐

  • 使用数字时,将 EditText imeOptions 设置为 actionNext 无效

    这是我的编辑文本
  • 如何使用 ES6 模块导入 jQuery Masonry?

    我正在尝试使用这个 npm 包https www npmjs com package masonry layout https www npmjs com package masonry layout 根据我运行的安装说明 npm inst
  • 为什么 Unicode 限制为 0x10FFFF?

    为什么最大 Unicode 代码点限制为 0x10FFFF 是否可以在该代码点之上表示 Unicode 例如0x10FFFF 0x000001 0x110000 通过任何编码方案 如 UTF 16 UTF 8 It s because of
  • 内联 CSS 图像和段落内联

    我无法让我的 div 在同一行上布局图像和段落 我在堆栈溢出和谷歌上搜索了许多主题 但没有解决方案有效 由于网络主机的原因 我必须使用内联 css 来设置网站的样式 相信我 我更愿意使用 css 文件 但由于所选的网络主机而无法这样做 通常
  • 替换换行符以使它们与 jquery 一起使用

    我有以下小脚本来预览一些文本 然后再将其提交到数据库中 jQuery function var input contents preview previewaccordion div viewcontents input keyup fun
  • 在类路径上发现多次出现 org.json.JSONObject:[重复]

    这个问题在这里已经有答案了 我有一个基本的 Spring Boot 2 1 5 RELEASE 应用程序 使用 Spring Initializr JPA 嵌入式 Tomcat Thymeleaf 模板引擎 并打包为可执行 JAR 当我启动
  • 如何以编程方式在反应本机中截取屏幕截图

    如何在 React Native 中截取屏幕截图 我需要截图并将其放入Image成分 我该怎么办 有一个库可以做到这一点 反应本机视图镜头 https github com gre react native view shot import
  • 如何在 Angular 4 材料排序中对日期/时间列进行排序?

    我正在使用角度材料表并使用 matSort 进行排序 但它没有对日期 时间列进行排序 它将日期时间列值作为字符串 如何对 Angular 4 材料中的日期 时间列进行排序 我的 json 看起来像这样 name Rule Test 5 ti
  • 如何调试配置 django 以使用 apache 和 mod-wsgi 提供服务的基本问题?

    人们在设置 django 以由 apache 和 mod wsgi 提供服务时遇到困难是很常见的 常见的症状是 导入错误 由于某种原因 通常在每种情况下略有不同 settings py 或类似的文件无法导入 有关众多示例 请参阅本页右栏中的
  • C 编程语言,第 1 章练习 1.10(Getchar 和 Putchar)

    我已经为此工作了 2 个小时 但我被困住了 我在网上找到了答案 但这并不能帮助我学习我显然缺少的概念 Prompt 编写一个程序将其输入复制到输出 将每个选项卡替换为 t 每个退格键 b 以及每个反斜杠 这使得制表符和退格键以明确的方式可见
  • Python 中断言的使用示例?

    我已经读过有关何时使用断言与异常的信息 但我仍然没有 明白 似乎每当我认为我处于应该使用断言的情况时 在后来的开发中我发现我 三思而后行 以确保当我调用函数时断言不会失败 由于还有另一个 Python 习惯用法 即更喜欢使用 try exc
  • 在运行时创建TabView?

    我需要使用 java 代码在运行时创建选项卡视图 笔记 不使用xml设计 在 XML 中创建 TabHost TabWidget 然后在运行时添加 TAbHost TabSpec
  • 如何创建 C 头文件 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我希望能够在头文件中创建一组函数 我可以将其 include 到我的一个 C 程序中 打开您最喜欢的文本编辑器 创建一个名为whate
  • 带有 Spring 缓存和咖啡因的 Spring 云网关

    我有一个 Spring Cloud 网关 它将 API 剩余请求转发到一些微服务 我想缓存特定请求的响应 为此我写了这个过滤器 Component Slf4j public class CacheResponseGatewayFilterF
  • 在 chrome 扩展中正确使用 execcommand("paste")

    我正在尝试使用以下命令将剪贴板数据粘贴到文本区域中execcommand paste 带有 chrome 扩展 但我似乎无法让它工作 权限已设置 我尝试过设置focus 在文本区域上 但是document execCommand paste
  • numpy 数组之间的“in”运算符的含义是什么?

    我注意到in可以在 numpy 数组之间使用 然而 它的含义可能有点违反直觉 import numpy as np np array 0 in np array 1 2 False np array 0 in np array 0 1 Tr
  • 如何使用 iDangerous Swiper 和 jquery .click();同时

    我坚持以下几点 我正在使用 iDangerous Swiper 插件 效果很好 但是 我还想在同一个 iDangerous swiper 上使用 jQuery 的单击功能 例如 div div class swiper slide lots
  • 如何使用 LINQ 查找并删除集合中的重复对象?

    我有一个代表对象的简单类 它有 5 个属性 一个日期 两个小数 一个整数和一个字符串 我有一个集合类 源自CollectionBase 这是一个容器类 用于保存我的第一个类中的多个对象 我的问题是 我想删除重复的对象 例如具有相同日期 相同
  • 如何对 IBM Cloud 数据库进行按需备份

    我在 IBM Cloud 中有一个 Elasticsearch 部署 我想从中定期进行按需备份 有没有办法使用命令行启动备份 IBM Cloud 数据库每天定期备份其所有数据库 但您无法选择备份计划 如果您想更频繁地创建备份或继续创建备份
  • 我应该对 Asp.NET Web-api 路由使用 RouteParameter 还是 UrlParameter?

    我见过两者都被使用 所以我想知道 它们做相同的事情还是不同的事情 如果是后者 有什么区别呢 我尝试通过查看 Visual Studio MVC 4 rc Web api 模板来自己回答这个问题 但遗憾的是它同时使用了两者 所以我的困惑仍然存