WebアプリケーションにWCFサービスがあり、これはajax(jqueryおよびasp.net scriptmanager)を介してブラウザーによって呼び出されます。
このサービスでは、いくつかのメソッドはWebGetであり、いくつかはWebInvokeです。
問題は、asp.netを介したWebInvokeメソッドへの要求が、'POST'ではなくhttp'OPTIONS'を使用して要求を行っていることです。そして、ウェブサーバーはオプションを許可しないため、このリクエストを拒否します
メソッドが定義されていない場合、WebInvoke属性のデフォルトはPOSTである必要があります。
今日、ここ数週間でこの問題が発生し始めました。ほぼ同時にすべてを.net4.0にアップグレードしたため、.net4.0に何か変更があったかどうかはわかりません。
また、奇妙なことに、xyz.comのようなWebサイトを使用するとすべてが正常に機能し、www.xyz.comを使用した場合にのみ問題が発生します。
それが何であるかについて何か考えはありますか?
編集:わかりました、ほとんど閉鎖されませんでした
問題は、Asp.netscriptmanagerがajaxでのクロスサイト参照を許可しないことです。ただし、クロスサイトを呼び出すようなことは何もしません。
私が見つけたのは、www.a.comを使用するときに、スクリプトマネージャーによって生成されたjsファイルがwww.a.comではなくa.comを使用したいということです。
これを解決する方法はありますか?