在编写WebApi过程中,对于前端访问涉及到两个地方,走了较多弯路,以此留存。
1、解决跨越访问。
1.1创建的WebApi项目里,在StartUp类的ConfigureServices方法中添加如下代码:
services.AddCors(option => option.AddPolicy("any", build => build .AllowAnyHeader() .AllowAnyOrigin() .AllowAnyMethod() ));
1.2创建的WebApi项目里,在StartUp类的Configure方法中添加如下代码:
//app.UseCors的位置,需要放在UseRouting()的后面,UseAuthorization()的前面。 app.UseRouting(); app.UseCors("any");//“any”与AddCors中AddPolicy的"any"一致 app.UseAuthorization();
2、解决delete和put请求出错
在Visual Studio 发布的WebApi网站,前端访问的get、post请求正常,就是delete和put请求出错,可通过禁用 WebDAVModule模块解决。
在发布的网站根目录下,对web.config文件修改如下:
<system.webServer> <modules runAllManagedModulesForAllRequests="false"> <remove name="WebDAVModule" /> </modules> </system.webServer>
执行以上两步骤,问题解决!