Visual Studioを使用しており、asp.netアプリケーションを1つのプロジェクトとして使用し、Webサービスを別のプロジェクトとして使用しています。asp.netアプリケーションでWebサービスを使用しています。私のWebサービスコードには何らかの問題がありますが、asp.netアプリケーションからWebサービスに継続的にデバッグすることはできません。アプリケーションとWebサービスの両方にブレークポイントを入れましたが、Webサービスでブレークポイントがアクティブにならず、接続が表示されますエラー:ローカルホストでホストしているときにこれを行うにはどうすればよいですか?
スタートアッププロジェクトとしてWebアプリケーションを実行している場合は、別のデバッグインスタンスでWebサービスを実行してみてください。
Webサービスプロジェクトを右クリックして、[デバッグ]-> [新しいインスタンスを開始]を選択します。
デバッガーをw3wp(IISプロセス)に接続する必要があります。
ここに link があります。
ローカルシステムでデバッグする場合は、複数の起動プロジェクトを設定できます。ソリューションプロパティによって複数のスタートアップを設定できます。この助けを願っています
サービス自体をデバッグして、ブレークポイントに到達するかどうかを確認してください。サービスを含むプロジェクトをメインプロジェクトに設定し、サービスをメインスタートページに設定するだけです。
ブレークポイントにヒットしない場合は、おそらくすべてのシンボルをロードしていません。これは、プロジェクトがデバッグではなく設定をリリースするように設定されている場合に起こります。
Webサービスがリモートコンピューターで実行されている場合は、Webサービスのリモートデバッグをセットアップする必要があります。
Webサービスを参照するサービスを追加するか、Webサービス機能にアクセスできない他のサービスを追加しないことを確認してください。私は私のプロジェクトで以下のようなWebサービスを使用しています
これは私のWebサービスコードです
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 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 JsonData : System.Web.Services.WebService
{
[WebMethod(Description = "")]
[ScriptMethod(UseHttpGet = false, ResponseFormat = ResponseFormat.Json)]
public StateData[] GetStateByCountryID(int ID)
{
StateData objStateData = new StateData();
LMGDAL.db_LMGEntities dbData = new db_LMGEntities();
var data = (from con in dbData.tblStates
where con.State_CountryID == ID
select new StateData
{
StateID = con.StateID,
StateName = con.StateName
}).ToList();
return data.ToArray();
}
次に、asp.net Webフォームにサービス参照を追加します
私のフォームのこのコード
<script type="text/javascript">
$(function () {
$("#ddlCountry").change(function () {
var countryID = $("#ddlCountry").val();
$.ajax({
type: "POST",
url: "JsonData.asmx/GetStateByCountryID",
contentType: "application/json; charset=utf-8",
dataType: 'json',
data: '{ID:"' + countryID + '"}',
success: function (msg) {
var data = msg.d;
var stateData = "";
$.each(data, function (index, itemdata) {
stateData += "<option value='" + itemdata.StateID + "' > " + itemdata.StateName + " </option>";
});
$("#ddlState").empty();
$("#ddlState").append("<option value='0'>-Select State-</option>");
$("#ddlState").append(stateData);
},
error: function () {
alert('Faild To Retrieve States.');
}
});
});
これはあなたを助けると思います