呼び出しがjquery ajax関数からのものであるWebサービスを作成しました。しかし、asyncを true に設定しても、非同期的には機能しません。
私の ASP.NET Web サービス コード
<System.Web.Services.WebMethod()> _
Public Shared Function sampleService(ByVal ttid As String) As String
Threading.Thread.Sleep(5 * 1000)
Return "Hello World"
End Function
JQuery 呼び出しスクリプト
<script language="javascript">
$(function() {
var tempParam = {
ttid: 100
};
var param = $.toJSON(tempParam);
$.ajax({
type: "POST",
url: "testservice.aspx/sampleService",
data: param,
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
error: function() {
alert("Error");
},
success: function(msg) {
alert("Success")
alert(msg.d)
}
});
}); </script>
ここでは async = true に設定しています。それでも、5秒後に成功メッセージが表示されます。つまり、非同期ではありません。私が信じているのは、async = true の場合、Web サービスからのメッセージを待たないということです。それは実際に私の要件です。