1.问题介绍

最近学习了.net core项目,是一个空的解决方案里面有 asp.net web api 接口项目asp.net web模型视图控制器项目(页面)还有其他项目如模型层。然后是先做接口部分,及调试接口部分,没问题了再做页面部分。并把页面项目设置为启动项目,这时但是访问不到接口项目的数据,是因为跨域了,所以无法直接在VS调试。

2.解决 通过IIS服务

还是把 页面项目设置为启动项目,再设置页面项目如下:不启用ssl

IIS配置 .net core项目问题记录

编译整个解决方案,并发布 页面项目 发布 接口项目.

然后给整个解决方案配置IIS,然后在这个解决方案所在的应用程序次添加 刚刚发布的两个应用程序。如下图::

IIS配置 .net core项目问题记录

并且把他们所在的应用程序池设置托管代码为 无托管,(.net framework 是有托管的,.net core没有)

然后给api应用程序设置http响应表头,这样页面项目程序才能访问接口数据。如下:

IIS配置 .net core项目问题记录

添加内容如下:

IIS配置 .net core项目问题记录

IIS配置 .net core项目问题记录

标头有两个如下:

Access-Control-Allow-Headers

Content-Type

Access-Control-Allow-Origin

*

 

每次修改了接口项目代码和页面代码都要重新发布,然后需要重新操作上面的步骤,不然可能还是会访问不到接口的数据。

 

3.为什么要上面的操作?

因为.net core项目的api  和页面是不同的项目所以要配置一下,并在vs中把 manage设为启动项,这样在调试的时候才能调用api,不然调用不到api。

 

 

相关文章:

  • 2021-01-24
  • 2022-12-23
  • 2021-08-13
  • 2021-10-31
  • 2021-09-05
  • 2022-12-23
  • 2022-12-23
  • 2021-07-08
猜你喜欢
  • 2021-12-20
  • 2021-11-19
  • 2021-08-14
  • 2022-12-23
相关资源
相似解决方案