【发布时间】:2021-09-30 17:33:05
【问题描述】:
环境:Microsoft Visual Studio 2019 Community,ASP.NET v4.8 web application/web api project using VB.NET
我可以找到很多 C# 答案,但没有 vb.net 答案。我已将 CORS Nuget 包添加到我的项目中并添加了此代码(它编译并运行正常,但在 localhost 或 prod 上没有区别,即任何源域仍然可以调用 POST 方法):
WebApiConfig.vb
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web.Http
Imports System.Web.Http.Cors
Public Module WebApiConfig
Public Sub Register(ByVal config As HttpConfiguration)
' Web API configuration and services
Dim corsAttr = New EnableCorsAttribute("http://example.com", "*", "*")
config.EnableCors(corsAttr)
控制器:
' POST: api/Notification
<EnableCors("https://www.somedomain.com", "*", "*")>
Public Function PostValue(<FromBody()> ByVal value As Object)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
【问题讨论】:
-
任何源域仍然可以调用 POST 方法 - 您如何确定这一点?邮递员?
-
嗨,Caius - 是的,邮递员。 (在本地运行)无论站点是在本地主机上运行还是托管在服务器上,调用都有效。
-
邮递员不关心 CORS,而且我怀疑你认为的不是 CORS