私は最初の WebService に苦労しているので、すべてを基本に落とし込むことにしました。まだ動作していません。
まったく新しい ASP.NET Web サイト プロジェクトを作成しました。
WebService という名前のフォルダーを追加しました。WebService フォルダーに、ASP.NET テンプレートを使用して新しい WebService を追加しました。テンプレートを変更して、[System.Web.Script.Services.ScriptService] のコメントを外しました。
Default.aspx ページの「ASP.NET へようこそ」の後に、次のようなパネルを追加しました。
<asp:Panel ID="Panel1" runat="server" Height="200px" Width="200px" BackColor="Blue" onclick="HelloWorld();">
</asp:Panel>
また、次のスクリプトを HeaderContent 領域に追加しました。
<script type="text/javascript" language="Javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript">
function OnSuccessCall(response) {
alert("Success! : " + response);
}
function OnErrorCall(response) {
alert(response.status + " " + response.statusText);
}
function HelloWorld() {
var pageUrl = '<%=ResolveUrl("~/WebService/WebService.asmx")%>'
$.ajax({
url: pageUrl + "/HelloWorld",
success: OnSuccessCall,
error: OnErrorCall
});
}
</script>
このコードを実行するとエラー 500 が表示されます。
// - - - - - - - - - - - - - - - - アップデート - - - - - - - - ------------------------------
ああ!新しい手がかり!WebMethod を、WebService クラスの一部としてではなく、[WebMethod] 属性を持つメソッドとして Default.aspx のコード ビハインドに移動すると、機能します。(少なくとも、私は OnSuccess 関数に到達します)。ただし、次に追加すると
contentType: "application/json; charset=utf-8",
dataType: "json",
$.ajax() 呼び出しに戻ると、エラー 500 が返されます (別の理由による可能性もあります)。JSON などで不足しているインストール ピースはありますか?
// - - - - - - - - - - - - - - - - アップデート - - - - - - - - ------------------------------ 実際の WebService は次のとおりです。前に述べたように、これはまさに New Item を作成して Web Service を選択したときに得られるものです。
誰かがこれがうまくいくと私に言うことができれば、私は環境問題に集中することができます.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
/// <summary>
/// Summary description for WebService
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
[System.Web.Script.Services.ScriptService]
public class WebService : System.Web.Services.WebService {
public WebService () {
//Uncomment the following line if using designed components
//InitializeComponent();
}
[WebMethod]
public string HelloWorld( ) {
return "Hello World";
}
}