我们需要在客户端项目(Angular)中使用(旧的ASMX)Web服务。
1.第一个问题与CORS有关,因为两个项目(Web服务/前端)属于不同的领域。
1.其次,我们没有该Web服务的源代码。
是否有可能在我们的域中托管该Web服务?同样,我们是否有任何其他可能性?
URL重写是实现该任务的可能性之一。
1.在IIS中的默认网站下创建子网站。
1.选择URL重写
1.创建新的入站规则,如下所示:
- Web.Config将如下所示:
<rewrite>
<rules>
<rule name="ReverseProxyInboundRule1" stopProcessing="true">
<match url="(.*)" />
<action type="Rewrite" url="http://domain1.com/sp/WebServices/json.asmx/GetPersonDetails" />
<conditions>
<add input="{QUERY_STRING}" pattern="GetPersonDetails" />
</conditions>
</rule>
<rule name="ReverseProxyInboundRule2" stopProcessing="true">
<match url="(.*)" />
<action type="Rewrite" url="http://domain1.com/sp/WebServices/json.asmx/DropDownList" />
<conditions>
<add input="{QUERY_STRING}" pattern="DropDownList" />
</conditions>
</rule>
</rules>
https://domain2.com/SportsPortalAPI/?q=DropDownList
https://domain2.com/SportsPortalAPI/?q=GetPersonDetails
在上面,我们分别使用查询字符串值DropDownList和DropDownList调用(02)Get方法
1条答案
按热度按时间xoshrz7s1#
您可以为Web服务使用Angular 代理,但我不建议将其用于永久/生产用途。