我有一个带有 angular 8 的 netcore 3.1 Web 应用程序,它在我的本地运行良好.但是 api 在部



1我有一个.netcore Web应用程序和一个angular 8前端。API 和前端在我的本地机器上都能很好地通信。但是当我在Windows服务器上部署到IIS时,api不起作用。我在服务的 API 请求中收到 404。

我正在使用以下代码来设置 api 调用的基本网址

constructor(private http: HttpClient) {
this.serviceBaseUrl = this.getServiceBaseApiUrl();//environment.serviceBaseUrl;
}
ngOnInit() { }
getServiceBaseApiUrl(): string {
if (environment.webApiEndPoint != 'dev') {
//prod
let paths: string[] = location.pathname.split('/').splice(1, 1);
let basePath: string = (paths && paths[0]) || 'supplier'//Default:supplier
this.hostName = basePath;
this.serviceBaseUrl = this.hostName;//+ "/SupplierScreen";
return this.serviceBaseUrl;
}
else {
this.serviceBaseUrl = "https://localhost:44381";
return this.serviceBaseUrl;
}
}

响应服务器返回 404.0,因此它只是表示未找到请求。 首先,请确保已安装 asp.net 核心虚拟主机包。否则,静态文件处理程序将接管请求,并仅返回 404 表示无扩展名 URL。 其次,请确保 URL 正确且您已经注册了处理程序。

<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>

您是否在同一站点下托管了 api 和 angular 应用程序?因为看起来他们正在共享端口。

最新更新