Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >默认路由更改后无法工作

默认路由更改后无法工作
EN

Stack Overflow用户
提问于 2017-10-17 12:56:03
回答 1查看 77关注 0票数 1

我使用Visual创建了一个API,并删除了所有我不想使用的内容。一切都很好直到现在。现在,我试图更改API的默认路径,但它只是不起作用。我想调用localhost,我希望我的API重定向到QueryController。

我的RouteConfig.cs是这样的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
routes.MapRoute (
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Query", action = "Get", id = UrlParameter.Optional }
);

我的QueryController.cs是这样的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class QueryController: ApiController
{
    public ResultRecord Get ([FromUri] RequestRecord request)
    {
        ...
    }
}

我的Global.asax:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
protected void Application_Start()
{
    AreaRegistration.RegisterAllAreas ();
    GlobalConfiguration.Configure (WebApiConfig.Register);
    FilterConfig.RegisterGlobalFilters (GlobalFilters.Filters);
    RouteConfig.RegisterRoutes (RouteTable.Routes);     
}

当我调用localhost:port/api/Query时,它工作得很好。但是,如果我只运行localhost:端口,它永远不会到达QueryController。知道为什么吗?我读过一些其他的文章,但我就是不能改变这个。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-17 13:07:16

您更改了用于MVC控制器的路由,而不是用于Web API控制器的路由:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
routes.MapRoute (
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Query", action = "Get", id = UrlParameter.Optional }
);

请注意此路由如何不包括api/

您需要更改您的WebApi路由,类似于:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
config.Routes.MapHttpRoute(
    name: "DefaultApi",
    routeTemplate: "api/{controller}/{id}",
    defaults: new { controller = "Query", id = RouteParameter.Optional }
);

这将允许您以localhost:port/api为目标,并进入QueryController.Get

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46799091

复制
相关文章
Apache编译后无法正常工作
因为某个场景的需求,要在一个国产系统Rocky4.2(国产凝思4.2操作系统)上安装Apache,虽说此系统是基于Redhat 5.8开发的,但是发现yum安装源包管理,RPM命令倒是能用,但是底层依赖完全没有,这就尴尬了,so,只能源码编译安装了。
后场技术
2020/09/03
2.8K0
更改nginx默认端口_更改端口号
Tips:Windows系统用记事本打开会使utf-8文件头部加上BOM头,这会导致配置文件不能正常读取,Nginx启动失败。因此推荐使用Sublime Text3之类的编辑器打开。
全栈程序员站长
2022/10/04
8.8K0
更改nginx默认端口_更改端口号
python相对路径文件无法读取,更改工作路径
这是最坑的地方,一般很难想到这个。就是先取看看你当前的工作路径,否则你怎么写相路径都是没用的。当我想去访问另外一个层级的文件时,可以看到因为他将路径定义到了pachong这个路径下,所以他是怎么也查不到当前我要的文件的。
萌萌哒的瓤瓤
2020/08/26
2.9K0
python相对路径文件无法读取,更改工作路径
配置静态路由,动态路由,默认路由模式_默认路由为网络和掩码
路由(routing)是指分组从源到目的地时,决定端到端路径的网络范围的进程 [1] 。路由工作在OSI参考模型第三层——网络层的数据包转发设备。路由器通过转发数据包来实现网络互连。虽然路由器可以支持多种协议(如TCP/IP、IPX/SPX、AppleTalk等协议),但是在我国绝大多数路由器运行TCP/IP协议。路由器通常连接两个或多个由IP子网或点到点协议标识的逻辑端口,至少拥有1个物理端口。路由器根据收到数据包中的网络层地址以及路由器内部维护的路由表决定输出端口以及下一跳地址,并且重写链路层数据包头实现转发数据包。路由器通过动态维护路由表来反映当前的网络拓扑,并通过网络上其他路由器交换路由和链路信息来维护路由表。\
全栈程序员站长
2022/10/01
3.2K0
配置静态路由,动态路由,默认路由模式_默认路由为网络和掩码
关于旁路由设置后,主路由WIFI无法上网的问题「建议收藏」
旁路由设置好后,手机、电脑连接主路由 WIFI,会无法访问外网。 但是,如果电脑用网线连接主路由,则可以正常上网。 这究竟是怎么一回事儿呢?
全栈程序员站长
2022/07/01
23.4K5
关于旁路由设置后,主路由WIFI无法上网的问题「建议收藏」
静态路由与默认路由的配置_静态路由和默认路由哪个快
1。静态路由:是指用户或网络管理员手工配置的路由信息。当网络拓扑结构或链路状态发生改变时,需要网络管理员手工配置静态路由信息。
全栈程序员站长
2022/11/10
3K0
静态路由与默认路由的配置_静态路由和默认路由哪个快
如何解决WordPress更改新域名后无法访问的调试
如何解决WordPress更改新域名后的安装调试,很多人在做了网站的搬家和网站的从新更换空间域名搬家之后,往往出现网站打不开的情况,这个问题其实并不难,但是很多新手站长因为不知道,导致在处理这类问题上花费了大量的时间。今天给大家分享一下如何使得更换域名后的网站如何正常运行(来源:wordpress建站吧)
wordpress建站吧
2019/05/28
4K0
更改 nginx 默认端口 ( ubuntu、linux )
1. 我想让一个demo 站点直接域名访问,不带端口,所以想用 80 端口启动对应前端工程。
微风-- 轻许--
2022/04/13
17.8K0
更改 nginx 默认端口 ( ubuntu、linux )
更改github的默认语言类型
    我最近在把gitee的项目复制到github的时候,发现了一个很致命的问题,明明我的项目时Java项目,到后面github给的默认类型是JavaScript,这个实在是让我这个强迫症患者很不舒服,应该有很多的小伙伴和我是这样的吧。     在查阅了一些资料以后我终于发现了如何更改。
上分如喝水
2021/08/16
1.6K0
更改github的默认语言类型
SQL server无法更改表
在设计器中,选择表设计器和数据库设计器,将阻止保存要求重新创建表的更改选项取消勾选 再次编辑表中内容时就不会再有错误弹窗。
magize
2023/07/11
2640
SQL server无法更改表
vscode如何更改文件默认保存路径
一 二 三
ydymz
2021/01/05
11.6K0
vscode如何更改文件默认保存路径
Windows更改系统默认配置要谨慎
windows不像linux,linux只有在物理内存用到爆的时候才会用swap(虚拟内存),windows则并不是物理内存用到满才会用虚拟内存,一些业务场景吃pagingfile比吃物理内存厉害,物理内存还没瓶颈时如果pagingfile满了,那系统和业务就会比较卡。参考https://bbs.huaweicloud.com/forum/thread-77940-1-1.html
Windows技术交流
2022/02/11
2.8K0
解决WordPress网站搬家更改新域名后网站无法正常访问的问题?
较的简单,很多的新手wordpress站长因为刚刚接触到wp还不久,可能并不清楚,我们今天就给大家分享和总结几个方法可以自由选择的;
wordpress建站吧
2021/12/22
3.7K0
解决WordPress网站搬家更改新域名后网站无法正常访问的问题?
Ubuntu更改默认python版本的两
当你安装 Debian Linux 时,安装过程有可能同时为你提供多个可用的 Python 版本,因此系统中会存在多个 Python 的可执行二进制文件。你可以按照以下方法使用 ls 命令来查看你的系统中都有那些 Python 的二进制文件可供使用。
py3study
2020/01/03
6.2K0
更改nginx默认端口_nginx查看端口
4、在基于CentOS或RHEL的Linux发行版中,您需要安装policycoreutils软件包并添加SELinux对Nginx所需的以下规则以绑定到新端口。这里还需要安装一个命令,先安装semanage再安装policycoreutils软件包。
全栈程序员站长
2022/10/05
33.3K0
更改nginx默认端口_nginx查看端口
Linux环境更改Jenkins默认主目录
由于Jenkins默认主目录空间太小,生产中需要将默认目录修改到其它目录。Linux环境中,Jenkins主目录默认在/root/.jenkins
星哥玩云
2022/07/13
6K0
Linux环境更改Jenkins默认主目录
更改iis上传文件的默认大小
第一步:修改IIS设置,允许直接编辑配置数据库。先打开,Internet信息服务 第二步:先在服务里关闭iis admin service服务,找到windows\system32\inetsrv\下的metabase.xml, 打开,找到ASPMaxRequestEntityAllowed 把他修改为需要的值,默认为204800,即200K,如把它修改为102400000(100M)。 然后重启iis admin service服务。 办法二: 新建一个文本文件,内容如下: set providerObj=GetObject(“winmgmts:/root/MicrosoftIISv2”) set vdirObj=providerObj.get(“IIsWebVirtualDirSetting=’W3SVC/1/ROOT'”) WScript.Echo “Before: ” & vdirObj.AspMaxRequestEntityAllowed vdirObj.AspMaxRequestEntityAllowed=102400000 vdirObj.Put_() WScript.Echo “Now: ” & vdirObj.AspMaxRequestEntityAllowed
全栈程序员站长
2022/07/05
2.5K0
CentOS7 更改默认加载内核
cat /boot/grub2/grub.cfg |grep menuentry 28621-3ovyjg2u2ea.png 注意是单引号里面的都是。这里可以看到,这台机器目前有三个内核。 设置指定内核为默认加载项: grub2-set-default “CentOS Linux (3.10.0-862.el7.x86_64) 7 (Core)” 配置默认内核,验证是否修改成功: grub2-editenv list 重启系统,查看当前内核: uname -r
栖枝perch
2020/04/02
9900
Selenium Python 更改 chrome 默认下载目录
关于使用Selenium和Python无法更改Google Chrome默认下载目录的可能问题和解决方法:
jackcode
2023/06/15
6310
Selenium Python 更改 chrome 默认下载目录
点击加载更多

相似问题

响应BrowserRouter更改后无法工作的动态路由

15

使用javascript更改默认边框后,焦点无法工作

20

用户登录后更改默认路由

20

更改默认端口后,Apache2无法正常工作

11

使用属性路由升级到MVC5后,默认路由无法工作

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文