返回顶部
首页 > 资讯 > 后端开发 > ASP.NET >.Net站点设置多个路由对应同一个Action
  • 154
分享到

.Net站点设置多个路由对应同一个Action

2024-04-02 19:04:59 154人浏览 泡泡鱼
摘要

需求:有些浏览器会屏蔽带有Ad字样的路径,此时需要创建多个路由指向同一个Action。 例如: 原来:Http://lalalalalala.org:1506/api/advert/

需求:有些浏览器会屏蔽带有Ad字样的路径,此时需要创建多个路由指向同一个Action。

例如:

原来:Http://lalalalalala.org:1506/api/advert/common 现在需要增加另一个请求路径 http://lalalalalala.org:1506/api/guanggao/common

1、.net core中追加这样的路径比较简单,如下

只需要增加在Controller和Action增加Route特性标签,便能得到下面四个路径,然后他们指向的都是Get方法. 可以在swagger中查看:

2. 在dotnet Freamwork项目下:

某个系统是webapi 1,不具有特性路由功能,所以不能像.Net Core 一样通过加标签的方式进行重命名。

方法一:可以参考下面的解决方式,我在注册路由的地方,将需要进行增加路由的方法,都增加了一个配置。

在swagger中查看的效果如下:

方法二:升级成WEBapi2,然后使用特性路由方式。

1.升级【webapi 1】到【WebApi 2】,如下升级到最新

其中不升级 WebHost 会出现下面的异常

2.手动添加特性路由的配置代码,如下图,添加如下代码到默认的路由上面: config.MapHttpAttributeRoutes();

* 这里注意下,特性路由要在普通路由规则上面。

如果把特性路由放在默认路由的下面,编译不会出错,但是在运行时候就会出现找不到Action 的问题,如下图:

{

"Message": "找不到与请求 URI“http://localhost:21094/api/Default2/Get?id=2”匹配的 HTTP 资源。",

"MessageDetail": "未找到与名为“Default2”的控制器匹配的类型。"

}

3.开始修改controller

通过 ~/api/xxx/yyy 可以重写路由前缀

补充:Webapi2 里面跨域问题

在第二步升级了webapi之后,在前端请求的时候,会出现跨域问题。解决可以参考我下面的做法:

1.升级或者安装nuget

然后在配置的地方添加如下代码: config.EnableCors();

config.EnableCors() 里面可以指定 跨域的Domain、Header以及Methond ,但是广告系统原来在web.config进行了设置,所以这里启用一下就可以了。

启动程序此时还是会出现一个问题:

当前端使用ajax进行跨域请求的时候,会先试探性的发一个Option请求,然后得到对应的跨域信息,如上面红框中的配置。 当发现允许请求的时候,此时就进行下一步真实的请求。

问题在于这个Option请求返回Code要是200,前端才认为是正常的。但是直接升级webapi之后,Option请求返回是404 not found。 即使带着这些配置的跨域信息也不能被前端所处理。

所以在 每个请求的开始,增加一个判断,将这个方法绑定到BeginRequest事件上。

然后跨域请求的第一次Option请求返回都是200,并且带着刚刚红框中的信息。

到此这篇关于.net站点设置多个路由对应同一个Action的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: .Net站点设置多个路由对应同一个Action

本文链接: https://lsjlt.com/news/164927.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • .Net站点设置多个路由对应同一个Action
    需求:有些浏览器会屏蔽带有Ad字样的路径,此时需要创建多个路由指向同一个Action。 例如: 原来:http://lalalalalala.org:1506/api/advert/...
    99+
    2024-04-02
  • PHP中针对每个路由设置不同的权限控制方法
    在开发Web应用程序时,权限控制是一个非常重要的方面。为了保护应用程序中的敏感功能和数据,我们需要在不同的路由上实施不同的权限控制。PHP作为一种强大的服务器端脚本语言,可以帮助我们轻松实现这一点。在PHP中,我们可以使用不同的方法来进行权...
    99+
    2023-10-21
    PHP 路由 权限控制
  • 云服务器路由器端口设置在哪个位置好一点
    首先,我们需要了解云服务器路由器的端口分布。一般来说,云服务器路由器会分布在不同的区域,如北美、欧洲、亚太等地区。不同区域的访问需求不同,因此需要不同的端口。例如,在北美地区,访问云服务器路由器的端口一般会选择800-900-100、110...
    99+
    2023-10-28
    路由器 端口 位置
  • Nginx怎么实现一个服务配置多个站点
    这篇文章主要介绍了Nginx怎么实现一个服务配置多个站点,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一个服务配置多个站点server&nb...
    99+
    2024-04-02
  • Nginx怎么实现一个站点配置多个域名
    这篇文章给大家分享的是有关Nginx怎么实现一个站点配置多个域名的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一个站点配置多个域名server {  list...
    99+
    2024-04-02
  • 阿里云服务器设置多个站点怎么设置
    简介 在阿里云服务器上设置多个站点是常见的需求,通过合理的配置和操作,可以实现多个站点在同一台服务器上的运行。本文将介绍如何在阿里云服务器上设置多个站点的方法和步骤。设置多个站点的步骤步骤一:购买域名首先,你需要购买多个域名,每个域名对应一...
    99+
    2024-01-18
    多个 阿里 站点
  • 多个WordPress站点使用同一数据库的方法
    尚未安装WordPress 在初始配置WordPress之前,将wp-config.php中的$table_prefix值(默认为wp_)修改为所需要的表前缀(本文中假设为blog_),然后一路安装即可。 修改前: 复制...
    99+
    2022-06-12
    WordPress 数据库
  • 云服务器多个网页怎么设置连接路由器
    如果您要在多个云服务器上创建和访问多个网页,以下是一些常见的设置步骤: 登录到云服务器平台:在开始菜单或应用程序设置中,点击“开发人员”选项卡,然后在弹出的小窗口中,选择“创建新工作负载”或“创建工作负载”。 分配路由:在服务器上创建路...
    99+
    2023-10-27
    多个 路由器 服务器
  • 云服务器多个网页怎么设置连接路由器上网
    1、打开浏览器,在地址栏中输入路由器的IP地址:192.168.0.1,保存并重启路由器; 2、将DHCP服务器关闭,并将开放和关闭DHCP服务的电脑连接到路由器的LAN(1、2、3、4)接口; 3、登录路由器,在路由器管理界面中找到“登...
    99+
    2023-10-27
    多个 路由器 服务器
  • 云服务器多个网页怎么设置连接路由器的网络
    当我们需要使用多个云服务器时,我们通常需要考虑将数据通过网络传输。在这种情况下,我们需要考虑将多个路由器连接在一起,以便在不同的路由器之间进行数据传输。在路由器之间传输数据时,我们需要确保数据的安全性和可靠性,并确保数据不会在网络中出现丢失...
    99+
    2023-10-27
    多个 路由器 服务器
  • 阿里云服务器设置多个站点连接实现多重服务并行
    在现代社会,随着互联网的飞速发展,网站和服务器的搭建成为了许多企业和个人的重要任务。为了更好地满足用户的需求,阿里云服务器提供了多种连接方式,让服务器可以连接多个站点,实现多重服务并行。本篇文章将详细说明如何设置阿里云服务器连接多个站点。 ...
    99+
    2023-11-07
    多个 阿里 站点
  • win10系统中怎么设置同一网卡使用多个IP地址
    这篇文章主要介绍win10系统中怎么设置同一网卡使用多个IP地址,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!网卡在电脑中显示为本地连接或是以太网,通常IP地址是自动获取,或是用户为其指定一个,那么有些特定的情况下可...
    99+
    2023-06-10
  • 如何在阿里云服务器 ECS 上搭建多个站点并进行设置
    本文将详细介绍如何在阿里云服务器 ECS 上搭建多个站点,并进行详细的设置。这对于那些希望在阿里云上运行多个网站的用户来说,是一个非常实用的指南。 一、准备阶段 在开始搭建多个站点之前,我们需要进行一些准备。首先,你需要购买一台阿里云服务器...
    99+
    2023-11-23
    多个 阿里 站点
  • 表单流程中一个节点是多人共同执行,每个执行人可以选择下一步要执行人员的实现思路
    度量快速开发平台中,表单工作流是定义为简单快捷配置流程的一个工具,里面都是最常用的流程功能。现在有用户要求 在表单工作流中,有一个节点比如 “分管领导审批”,这个节点本身是可以多人共同执行的,需要实现每一个...
    99+
    2024-04-02
  • 轻量应用服务器镜像选哪个模式好用一点呢怎么设置
    轻量应用服务器镜像是一种可以安装在应用服务器上的镜像,通常用于安装应用程序或进行缓存。选择合适的轻量应用服务器镜像需要根据您的具体业务需求来决定,以下是一些常见的模式,您可以尝试使用: 使用MongoDB 镜像:MongoDB是一种轻量...
    99+
    2023-10-26
    镜像 好用 模式
  • 轻量应用服务器和ecs哪个好用一点呢苹果手机怎么设置
    轻量应用服务器和ECS是两个不同类型的服务器,它们在性能、可靠性、安全性和可管理性等方面有不同的特点和优势。 轻量应用服务器相对于ECS性能更优 轻量应用服务器相对于ECS更适合在移动设备上运行,它们可以处理更轻量的数据,更快的响应速...
    99+
    2023-10-26
    好用 苹果 服务器
  • 如何在MySQL中设计一个灵活的会计系统表结构以应对不同的财务政策和规定?
    如何在MySQL中设计一个灵活的会计系统表结构以应对不同的财务政策和规定?引言:随着企业业务的迅速发展和财务管理的日益重要,设计一个灵活的会计系统是非常重要的。灵活的会计系统能够适应不同的财务政策和规定,并满足企业的业务需求。本文将介绍如何...
    99+
    2023-10-31
    数据库表设计 灵活性 会计系统
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作