我有一个reactJS应用程序,它使用自定义的webAPI调用(用Visual Basic编写)。 webAPI托管在AWS beantalk上。在本地计算机上开发应用程序时,出现了CORS限制错误。为了避免CORS限制,我在webAPI中添加了以下代码:
Public Module WebApiConfig
Public Sub Register(ByVal config As HttpConfiguration)
' Web API configuration and services
Dim Cors = New EnableCorsAttribute("http://localhost:8080", "*", "*")
config.EnableCors(Cors)
' Web API routes
config.MapHttpAttributeRoutes()
config.Routes.MapHttpRoute(
name:="DefaultApi",
routeTemplate:="api/{controller}/{id}",
defaults:=New With {.id = RouteParameter.Optional}
)
End Sub
End Module
当我在本地计算机上运行应用程序时,将调用webAPI并执行其功能,然后将数据返回给我的应用程序。都是正确的。
然后,我创建了一个AWS S3存储桶(用于网络托管),并上传了reactJS应用程序。我记下了AWS生成的入口点。我打开浏览器并启动该应用程序,然后再次获得CORS限制。我替换了这一行代码
Dim Cors =新的EnableCorsAttribute(“ http://localhost:8080”,“ ”,“ ”)
使用这一行代码
Dim Cors =新的EnableCorsAttribute(“ http://mydomainname.s3-website.us-east-2.amazonaws.com”,“ ”,“ ”)
,CORS限制再次得到解决。
现在,要继续开发应用程序,我必须返回到原始代码行(启用本地主机url),但这会破坏应用程序的生产版本。
我对config.EnableCors命令的细节不熟悉。我可以仅通过使用url字符串调用config.EnableCors命令来启用多个url吗?还是我可以用不同的网址多次调用它?