首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当查询字符串包含IIS10上托管的WebApi的com1时出现404错误

,这是由于IIS的保护机制引起的。

在IIS的默认配置中,由于安全原因,系统会对URL进行一些限制和保护。其中之一是对特定的URL片段进行拦截和禁止访问,比如包含"com1"的查询字符串。

"com1"是一个保留的设备名,它是Windows系统的一部分,并被用于一些特定的操作。为了防止潜在的安全风险,IIS默认会拒绝包含"com1"的查询字符串的访问,导致出现404错误。

为了解决这个问题,可以采取以下几种方法:

  1. 避免使用"com1"作为查询字符串的一部分,可以尝试修改查询字符串,或者将"com1"改为其他合法的字符串。
  2. 修改IIS的配置,允许访问包含"com1"的查询字符串。可以通过打开IIS管理器,找到对应的网站或应用程序池,然后在配置文件中进行修改。具体步骤可以参考相关的IIS文档或官方网站。
  3. 如果是必须要使用"com1"作为查询字符串的一部分,可以考虑使用URL编码来替代,将"com1"编码为"%63%6F%6D%31",这样可以绕过IIS的保护机制。

总结:当查询字符串包含IIS10上托管的WebApi的com1时出现404错误,是由于IIS的保护机制拦截了包含"com1"的查询字符串。可以通过修改查询字符串、修改IIS配置或使用URL编码来解决该问题。

推荐的腾讯云相关产品:腾讯云服务器(CVM)用于托管IIS和WebApi,腾讯云CDN提供全球加速服务,腾讯云WAF提供网络安全防护。具体产品介绍和链接地址可参考腾讯云官方网站。

(请注意:本答案仅供参考,具体解决方法可能因环境和配置而异,建议在实际操作中谨慎操作或咨询专业人士的建议。)

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

快速入门系列--WebAPI--04在老版本MVC4下调整

WebAPI是建立在MVC和WCF基础,原来微软老是喜欢封装很多,这次终于愿意将http编程模型相关细节暴露给我们了。...路由设置 在Global.asax文件中需要注意WebApi路由要先于MVC路由进行注册,不然会出现路由无效情况。...非常有用,最后例子会涉及这部分内容。...如果说自定义绑定器或格式化器是用于扩展正常状态下解析数据的话,那么过滤器可以用在一些特殊情况下 IExceptionFilter ExceptionFilterAttribute 调用操作抛出异常,...其他小知识点 WebAPI托管,包括通过System.Web.Http.WebHost.dllIIS托管,配置对象为GlobalConfiguration;自托管配置,通过Mocrosoft.AspNet.WebApi.Selfhost

1.1K60
  • ASP.NET WebAPI构建API接口服务实战演练

    1.2、本葵花宝典手册课程包含知识点如下: 1)、与Web API第一次亲密接触,"奇葩"默认路由配置  2)、 WebApi输出格式有点"丑",选择XML和JSON哪一个格式? ...二、手把手教会用ASP.NET WebAPI构建API接口服务 2.1、与Web API第一次亲密接触,"奇葩"默认路由配置 王小二刚兴致勃勃打开葵花宝典手册,一上来就遇到404访问不了情况。...2.2、 WebApi输出格式有点"丑",选择XML和JSON哪一个格式? 王小二好不容易把404问题解决了,却遇到了XML和JSON生成出来有点“丑”样子,简直就是四不像啊!...刚准备关机睡觉时候,总感觉心里有事情没解决,顿时坐了起,调用方怎么知道我给接口数据结果就执行成功和失败了啊。不可能用空字符串来判断吧。听说阿笨有解决办法,我去问问题他吧!    ...2.5、ASP.NET WebApi标准格式化统一输出异常报文数据 王小二总算解决了标准格式化统一输出响应报文数据,正兴高采烈调试第一个接口时候,却出现了Exception这个程序员恶魔,只好无奈看着屏幕前一堆红色错误输出页面

    1.1K20

    WebAPI下的如何实现参数绑定

    请求消息(request message)包括了请求所有信息,如带查询字符串请求地址(URL),内容主体(content body)及头部信息(header)。...实际WebAPI使用model binding读取查询字符串(query string)内容进行参数绑定,使用Formatters读取主体内容 (body content)进行参数绑定。...Using Formatters: Formatters(如MediaTypeFormatter类所示)实际包含额外元数据序列化程序。...由于action签名中并不包含任何 负责类型,WebAPI将永远不会读取request content stream,因而这里action方法可以读取它。...SomeType,因而应用SomeType特性决定其采用model binding 与MVC区别 以下是MVC和WebAPI在参数绑定一些不同点: MVC只具有model binding,而没有

    1.5K60

    我们必须要知道RESTful服务最佳实践

    这个根据实际情况其实是可要可不要。 message——状态值为”fail”和”error”时有效,用于显示错误信息。...状态值为”fail”或”error”,data仅包含错误原因或异常名称、或者null也是可以 返回成功响应json格式 { "code": 200, "message": "success...4** 请求错误这些状态代码表示请求可能出错,妨碍了服务器处理。 5**(服务器错误)这些状态代码表示服务器在尝试处理请求发生内部错误。 这些错误可能是服务器本身错误,而不是请求出错。...POST 新增一条数据 201创建成功、422新增数据验证错误、(401、403、404、406、500) DELETE 删除一条数据 204删除成功、(401、403、404、406、500) PATCH...更新实体部分信息 201更新成功、422验证数据错误(401、403、404、406、500) PUT 更新实体所有信息除ID外 201更新成功、422(401、403、404、406、500) 6

    1.2K30

    Asp.Net WebApi核心对象解析(二)

    扯淡完毕,接着聊正事,一篇写是Asp.Net WebApi核心对象解析(上篇),本文是下篇,不管写怎么样,还望大家多多指正。...一.WebApi处理架构:     我们在学习Asp.Net WebApi,应该对Asp.Net WebApi内部运行机制有一个大致了解,很多人说了解这些基本原理意义不大,实际开发中应用不到而且还浪费时间...托管层:位于WebApi和底层HTTP栈之间,是最底层负责WebApi托管。        消息处理程序管道层:用与实现消息横切关注点,例如日志和缓存。        ...(在一个owin兼容服务器建立一个webapi层)      在使用web托管,所使用是ASP.NET管道和路由功能,将HTTP请求转发到一个新ASP.NET处理程序,HttpControllerHandler...五.总结:    本文分为上下两篇,简单介绍类一下Asp.Net WebApi一些核心对象,并简单介绍了Asp.Net WebApi路由机制,处理架构,托管方式等等,如有不足和错误之处还望多多指正。

    3.1K100

    RESTful API十个最佳实践1. 使用名词而不是动词 2. Get方法和查询参数不应该改变资源状态3. 使用名词复数形式 4. 为关系使用子资源 5. 使用HTTP头决定序列化格式 6. 使

    WebAPI在过去几年里非常盛行,我们很多以往技术手段都慢慢转换为使用WebAPI来开发,因为它语法简单规范化,以及轻量级等特点,这种方式收到了广泛推崇。...为集合提供过滤、排序、字段选择以及分页 过滤 为所有字段或者查询语句提供独立查询参数: GET /cars?...fields=manufacturer,model,id,color 分页 使用offset和limit来获取固定数量资源结果,其中一个参数没有出现时,应该提供各自默认值,比如默认取第一页,或者默认取...使用HTTP状态码处理错误 忽略错误处理API是很难使用,简单返回500和调用堆栈是非常不友好也非常无用: 使用HTTP状态码 HTTP标准提供了70多个状态码来描述返回值,我们不需要完全用到他们...404 – 未找到,指定资源不存在 422 – 不可指定请求体 – 只有服务器不能处理实体使用,比如图像不能被格式化,或者重要字段丢失。

    2.8K50

    .net 温故知新【12】:Asp.Net Core WebAPIRest风格

    ASP.NET Core WebAPI接口 在ASP.NET WebAPI中我们也能看到Rest风格,理想很丰满,显示很骨干。...URL:资源定位,也就是Rest风格,在请求url中包含信息,比如https://xxxx/Student/1 1就是学生编号。...而在Rest 中Post通常用201返回新增成功,delete 删除数据不存在返回404,但是404大家知道可能也许是url错误,所以表诉不清。...使用RPC风格,尽量使用合理谓词,不知道使用什么谓词时候就用POST,Get Delete参数尽量用资源定位URL,业务错误服务端返回合适状体吗,不知道返回什么就返回400,如果请求处理成功就用200...; } } 最后还有[FromHeader]、[FromForm]、[FromBody]这些获取参数方式,不清楚使用时候查询就行了。

    28640

    BaaS API 设计规范

    不同版本号之间,原则可以不保证 API 兼容。 某个版本一旦发布,在同一个版本号之内 api 升级,必须保证兼容原来发布 API。...主体输入 考虑到接口扩展性,所有API输入只能接受一般 JSON 对象作为输入参数,同时也只能输出一个 JSON 对象。 输入输出值是单一值、数组,需要使用一个对象对其进行封装。...(App、User) · 404:请求地址未找到。如 users/1 未找到该资源。 · 500:内部程序错误。...如:01表示ACS,那么010001可能表示ACS模块中登录API用户名错误、010002表示ACS中登录API用户密码错误。 2.2.5....· 其它查询 每一个特殊查询,都需要提供相应特殊查询地址。必须参数以URI Part 形式给出,可选参数则以查询字符串形式给出。

    3.1K111

    ASP.NET Core中Controller

    ASP.NET CORE出现之前我们实现Controller,MVC都继承自Controller基类,WebApi的话继承自ApiController。...现在ASP.NET CORE把MVC跟WebApi合并了,已经不再区分MVC或者WebApi。ASP.NET COREController继承结构也发生了变化。...使用NonControllerAttribute 如果你一个类名恰巧包含“Controller”后缀,但你并不想ASP.NET CORE框架发现它,你可以在类加上NonControllerAttribute...总结 设计restful(web api)接口时候可以继承ControllerBase 设计MVC系统时候可以继承Controller 一个POCO类名称包含"Controller"后缀或添加ControllerAttribute...时候框架会认为这是一个控制器 一个类不想被框架当做控制器时候可以添加NonControllerAttribute

    1.6K20

    REST API有关幂等性等11条最佳实践

    我已经看到这个错误一次又一次地重复出现。...届时,您基础设施可能会在不同技术平台上重写、迁移到新数据库,或与包含冲突 ID 另一个数据库合并。 字符串 ID 非常灵活。字符串可以对版本信息或段 ID 范围进行编码。...调用(例如)GET /things/{thing_id}请求一个不存在东西,响应应表明:1)服务器理解了您请求;2)没有找到该东西。遗憾是,404 响应并不能保证 #1。...客户最终看到不一致数据,这可能是 "你错",也可能不是,但他们给你打的支持电话将是真实。 我建议是选择另一种 400 级错误代码,客户可以将其理解为 "我知道你要什么,但我没有"。...有两个主要思想流派: 1、返回错误 客户端提交重复幂等性密钥,我喜欢返回 409 CONFLICT。

    22620

    如何在CentOS 7为Apache设置mod_rewrite

    匹配重写规则,Apache会忽略这两个字符。但是,有时可能需要查询字符串来在页面之间传递数据。...例1B:匹配选项 在某些情况下,我们可能希望将查询字符串概括为包含不同类型鞋子。...item=pants&type=men 我们成功扩展了匹配功能,以包含URL多个方面。 示例1D:传递查询字符串 本节不介绍任何新概念,但解决了可能出现问题。...为此,我们将创建一个ErrorDocument规则,将404错误指向error.html页面: ErrorDocument 404 /error.html 这会将导致HTTP 404响应任何请求重定向到...但是,事情并不总是按计划进行,发生这种情况,您可能会发现自己有重定向循环或模糊500 forbidden错误。有关调试这些情况提示,请查看此StackOverflow帖子。

    5.3K00

    .NET Core 学习资料精选:入门

    ASP.NET Core 中如何注入同一个接口多个实现 案例1:使用nlog,想根据需要使用不同配置文件Nlog.config 写日志,就可以使用文章中介绍 Factory 命名注入方案来实现...案例2:使用分布式缓存 IDistributedCache ,想根据需要在一个项目中同时使用redis和sqlserver ASP.NET Core 中多个接口对应同一个实现正确姿势 ASP.NET...ASP.NET Core 中通过IHttpContextAccessor实现公用静态HttpContext 状态管理 常见方式:Cookie、Session、TempData、查询字符串、HttpContext.Items...类源码分析 #、gRPC ASP.NET Core 3.0 gRPC服务模板初体验(多图) ASP.NET Core gRPC配置 发布部署 ASP.NET Core 使用 IIS 进行托管部署...ASP.NET Core 部署到 Linux 进行托管 ASP.NET Core 使用Supervisor进行托管部署 ASP.NET Core 使用Docker进行容器化托管 配置 ASP.NET

    3.8K20

    .NET WebAPI 采用 IDistributedCache 实现分布式缓存过滤器 Redis 模式

    分布式缓存是由多个应用服务器共享缓存,通常作为访问它应用服务器外部服务进行维护。 分布式缓存可以提高 ASP.NET Core 应用性能和可伸缩性,尤其是当应用由云服务或服务器场托管。...与其他将缓存数据存储在单个应用服务器缓存方案相比,分布式缓存具有多个优势。 分发缓存数据,数据: 在多个服务器请求之间保持一致(一致性)。 在进行服务器重启和应用部署后仍然有效。...实现方案采用 Redis 作为缓存数据托管方案,接口使用微软官方 IDistributedCache 接口实现。...TTL 缓存有效期以秒为单位 IsUseToken 是否使用 Token 区分不同用户身份,之所以加入这个参数,主要是因为有些接口虽然多个用户请求入参一样,但是不同用户需要返回不同信息,所以面对这种类型接口需要将...过滤器使用方法就很简单了,直接附在对应接口 Action 方法就可以,如下: [CacheDataFilter(TTL = 60, IsUseToken = true)] public DtoUser

    79350
    领券