gpt4 book ai didi

c# - 网络 API 2 404 错误

转载 作者:行者123 更新时间:2023-11-30 21:54:04 25 4
gpt4 key购买 nike

尝试使用以下 url 调用以下方法时出现 404 错误

    [HttpGet]
[Route("api/Trinity/GetDirectoryAndTask/{modelTemplateId}/{taskName}")]
public KeyValuePair<string, string> GetDirectoriesAndTasks(int modelTemplateId, string taskName)

http://localhost:46789/api/Trinity/GetDirectoryAndTask/9/Tax+H%3a+AG43SS+GMIB%3b+no+fpws%3b+d%26r

此 url 来自对字符串“Tax H: AG43SS GMIB; no fpws; d&r”调用 HttpUtility.UrlEncode()。如果有另一种方法来完成传递此字符串,我也愿意接受。

如果我像这样用一个“更简单”的任务名称来调用它,这个方法就可以正常工作

http://localhost:46789/api/Trinity/GetDirectoryAndTask/9/Roth

我安装了 RouteDebugger nuget 包,但它不是很有用。为了完整起见,这是我的 WebApiConfig.cs 文件

    using System.Web.Http;

namespace DbService
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API routes
MapRoutes(config);
}

private static void MapRoutes(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();

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

和RouteConfig.cs文件

    using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;

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

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

最佳答案

您收到的错误是:

HTTP 错误 404.11 - 未找到
请求过滤模块被配置为拒绝包含双转义序列的请求。

要解决此问题,您可以在 web.config 文件中应用一些设置:

1- 在 <system.webServer> 下在 <security> 下你应该有:

<requestFiltering allowDoubleEscaping="true"></requestFiltering>

2- 下<system.web>你应该:

<httpRuntime targetFramework="4.5" requestPathInvalidCharacters="" />

第二个设置允许您拥有 :在你的道路上。

关于c# - 网络 API 2 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33486261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com