同期と非同期の両方のアプローチを試しました。多くのスレッドで提案されているさまざまなことをすべてテストしましたが、それでも上記のエラーが発生し続けます。
IE の場合、「No transport」が表示され、FF では恐ろしい外観の「Exception... "Failure" nsresult: "0x80004005 (NS_ERROR_FAILURE) ".
ブラウザの URL 行からサービスにアクセスすると、返されたテキストが表示され、サービスが稼働中であることがわかります。( MyCloud.azurewebsites.net/MyService.svc/Ping )
しかし、この JS を使用してアクセスしようとすると機能しません。
$.ajax({
cache: false,
async: false, //have tried true too
type: "GET",
url: "http://MyCloud.azurewebsites.net/MyService.svc/Ping",
datatype: "text",
success: function (response) { ... },
error: function (xhr, requestStatus, errorText) { ... }
});
さまざまなブラウザー (Chrome 以外) をテストしました。CORSの問題のため、セキュリティに何らかの変更を加えて( noneではなくtransport ) 、別のエンドポイントを宣言してテストしました。私はまだエラーが発生します。そして、それらを探すことは、さらなる混乱を招くだけです。
さて、この問題と 1 日以上戦ってきたので、トラブルシューティングを構築することにしました。
- 上記のJSはまったく正しいですか?
- 以下のエンドポイント定義とサービス宣言も正しいですか?
- さらに何をテストできますか?問題を調査するにはどうすればよいですか?
<endpoint name="UrlEndPoint"
behaviorConfiguration="UrlEndPointBehavior"
address=""
binding="webHttpBinding"
contract="MyNamespace.IMyService"/>
<behavior name="UrlEndPointBehavior">
<webHttp helpEnabled="true"/>
</behavior>
[OperationContract]
[WebInvoke(UriTemplate = "Ping", Method = "GET")]
String Ping();
私は今、完全に迷っており、病気で疲れています。正しい方向へのプッシュは素晴らしいでしょう。