.net 在WEB API DotNet中通过HTTPS强制HTTP

.net 在WEB API DotNet中通过HTTPS强制HTTP,.net,rest,asp.net-web-api,.net,Rest,Asp.net Web Api,我有一个web api控制器,我需要在Java客户机中使用它,但是证书有问题,所以我需要使用HTTP而不是HTTPS public static class WebApiConfig { public static void Register(HttpConfiguration config) { config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( n

我有一个web api控制器,我需要在Java客户机中使用它,但是证书有问题,所以我需要使用HTTP而不是HTTPS

public static class WebApiConfig
{

    public static void Register(HttpConfiguration config)
    {
        config.MapHttpAttributeRoutes();

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            constraints : null,
            defaults: new { id = RouteParameter.Optional }
        );
        config.Formatters.Remove(config.Formatters.XmlFormatter);
        config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new System.Net.Http.Headers.MediaTypeHeaderValue("application/json"));
    }
}


public class CommentAPIController : ApiController
{
    IItemService ise = new ItemService();
    ICategoryService ice = new CategoryService();
    // GET: api/CommentAPI
    [HttpGet]
    public IEnumerable<Category> Get()
    {
        List<Category> list = new List<Category>();
        foreach (Category item in ice.getAllCategory())
        {

            list.Add(item);



        }
        return list;
    }
公共静态类WebApiConfig
{
公共静态无效寄存器(HttpConfiguration配置)
{
config.maphttpAttribute路由();
config.Routes.MapHttpRoute(
名称:“DefaultApi”,
routeTemplate:“api/{controller}/{id}”,
约束:null,
默认值:新建{id=RouteParameter.Optional}
);
config.Formatters.Remove(config.Formatters.XmlFormatter);
config.Formatters.JsonFormatter.SupportedMediaTypes.Add(新的System.Net.Http.Headers.MediaTypeHeaderValue(“应用程序/json”);
}
}
公共类CommentApicController:ApicController
{
IItemService ise=新项目服务();
ICategoryService ice=新类别服务();
//获取:api/CommentAPI
[HttpGet]
公共IEnumerable Get()
{
列表=新列表();
foreach(ice.getAllCategory()中的类别项)
{
列表。添加(项目);
}
退货清单;
}

感谢您的帮助

请编辑web api项目的属性(右键单击项目,然后单击属性,或者展开项目内容,双击属性组)

然后导航到
Web
屏幕,查看您的url是否指向
https

如果是,请将其更改为http://并重新启动。通常您必须使用
[RequireHttps]
属性强制https,因此您的问题似乎正好相反

根据我们在评论中的讨论。最后,您为HTTPS服务提供了错误的端口,这正是我指给您的屏幕


让我们将其保留在此处,以供其他人使用。

在不使用“https”的情况下调用url时,是否会出现任何错误?否页面会一直加载,如何承载此应用程序?您是从Visual Studio运行它,还是已在IIS上发布?我从Visual Studio运行它请编辑web api项目的属性(右键单击项目,然后单击属性,或展开项目内容,双击
属性
组)。然后导航到
Web
屏幕,查看您的url是否指向
https
。如果是,请将其更改为
http://
并重新启动。通常,您必须使用
[RequireHttps]
属性,因此您的问题似乎正好相反。