【发布时间】:2016-05-19 17:29:56
【问题描述】:
我按照 Ido Flatow 的 post 创建了一个跨域请求并创建了以下内容:
在我的服务接口上:
[OperationContract]
[WebInvoke(Method = "*", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest)]
bool GetUserAuthentication(string userLoginName, string password);
在 app.config 上:
<behaviors>
<endpointBehaviors>
<behavior name="webSupport">
<webHttp />
<CorsSupport />
</behavior>
</endpointBehaviors>
</behaviors>
<extensions>
<behaviorExtensions>
<add name="CorsSupport" type="WebHttpCors.CorsSupportBehaviorElement, WebHttpCors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
</behaviorExtensions>
</extensions>
现在我正在使用 angular $http 服务发送一个简单的发布请求,它在 IE 和 Edge(也在 Postman)上运行,但无法在 Chrome 和 Firefox 上运行,并出现以下错误:
XMLHttpRequest 无法加载 http://localhost:5280/MetaDataService/GetUserAuthentication。回复 对于预检有无效的 HTTP 状态代码 400
Chrome 错误打印屏幕:
【问题讨论】:
标签: c# wcf google-chrome cors cross-domain