私の角型アプリケーションとMVC Web APIアプリケーションの間の問題の原因を突き止めようとしています。次のように私のwebapiconfig.cs
では、私はCORSをAngular 4 appとMVC WebAPIの間のPUTリクエストでCORSエラーが発生する
を有効にしています:
var corsAttr = new EnableCorsAttribute("http://localhost:4200,http://domain1,http://domain2", "*", "*");
corsAttr.SupportsCredentials = true;
// Enable CORS Globally
config.EnableCors(corsAttr);
私のような何か使用してPUTリクエストを行っております:
updateExchange(exchange: IOrder): Observable<IOrder> {
return this._http.put<IOrder>(this._orderServiceUrl + '/' + order.Id, order)
.do(this.handleSuccessResponse)
.catch(this.handleErrorResponse);
}
を、私はこの問題であれば、私の中には本当にわからないんだけど私は時々エラーに基づいて別のステータスコードを返すことを要求します。
は私が成功した応答を返す取得していますが、レスポンスヘッダに、私は、任意のCORSヘッダが表示されない:Response to preflight request doesn't pass access control check: The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'. Origin ' http://localhost:4200 ' is therefore not allowed access. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.
Cache-Control:private
Date:Mon, 02 Oct 2017 15:37:31 GMT
Server:Microsoft-IIS/10.0
Transfer-Encoding:chunked
X-AspNet-Version:4.0.30319
X-Powered-By:ASP.NET
X-SourceFiles:=?UTF-8?<something>
私はこの作業を取得するために何をすべきか上の任意の提案?
私がそこにワイルドカードを持っているのは、そうでなければエラーです:HTTPヘッダーが送信された後、サーバーはステータスを設定できません。 – AlexanderM
Btw、私はOrigins、今のHeadersにしか関心のない答えの一つに添付されたドキュメントから。どちらの方法でも、ここで問題となるのは、応答ヘッダーには、msドキュメントに基づいてすべてが指定されていても(または何かが不足している)ヘッダーが全くないということです。 – AlexanderM
申し分なく、うーん。まあ、それは正しいことはできません、多分あなたのコードの詳細を投稿することができますか?あなたはこの投稿を見てきましたか?https://stackoverflow.com/questions/29709477/server-cannot-set-status-after-http-headers-have-been-sent-web-api-cors – FussinHussin