Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Asp.Net Core 2.0 HTTP->;红隼上的HTTPS_C#_Asp.net Core - Fatal编程技术网

C# Asp.Net Core 2.0 HTTP->;红隼上的HTTPS

C# Asp.Net Core 2.0 HTTP->;红隼上的HTTPS,c#,asp.net-core,C#,Asp.net Core,我正在学习基于Web的编程,目前选择在Asp.NETCore2.0上工作。 我已经成功地创建了一个包含两层控制器Home和API的Web应用程序。 主控制器直接与我的视图交互,而从主控制器使用GetAsync、PostAsync、PutAsync等调用API控制器。 最近,我决定将此应用程序移动到HTTPS。了解了自签名证书,并已成功使其运行,但我的API无法访问 关闭SSL后,我仍然可以通过Postman调用我的API 我曾经使用以下URI调用我的API: 现在我尝试使用URI:但在respo

我正在学习基于Web的编程,目前选择在Asp.NETCore2.0上工作。 我已经成功地创建了一个包含两层控制器Home和API的Web应用程序。 主控制器直接与我的视图交互,而从主控制器使用GetAsync、PostAsync、PutAsync等调用API控制器。 最近,我决定将此应用程序移动到HTTPS。了解了自签名证书,并已成功使其运行,但我的API无法访问

关闭SSL后,我仍然可以通过Postman调用我的API

我曾经使用以下URI调用我的API:

现在我尝试使用URI:但在
response.Wait()处中断。

有什么建议吗。提前谢谢

按要求:这是我的Startup.cs的一部分

services.AddMvc(
   options =>
   {
       options.SslPort=5667;
       options.Filters.Add(new RequireHttpsAttribute());
    }
 );

 services.AddAntiforgery(
  options => 
  {
        options.Cookie.Name=“_af”;
        options.Cookie.HttpOnly = true;
        options.Cookie.SecurePolicy=CookieSecurePolicy.Always;
        options.HeaderName=“X-XSRF-TOKEN”;
     }
   )

HTTP和HTTPS不能通过同一端口提供服务。如果您的本地主机HTTP端点位于5667上,那么您的HTTPS端点很可能位于5668上-尽管您可以在Kestrel将在启动时登录的信息中自己检查端口号

在生产中,HTTP通常通过端口80提供服务,而HTTPS通过端口443提供服务。如果不另行指定,则这些是默认值

单独,您可能想考虑在<代码>配置块:

app.UseHttpsRedirection();

我将完全离开HTTP。因此,主应用程序也在侦听HTTPS,而不是HTTP和HTTPS的组合。谢谢你的快速回复。如果您可以编辑您的问题以包含相关的启动代码,这将非常有用。否则人们只能做出这样的假设。我现在在手机上,在火车上。我一到办公室就会这样做。谢谢Matt Johnson,我怀疑有上下文同步问题,但是我不知道您是否在api端向我们展示了代码。
app.UseHttpsRedirection();