14

私はビジュアルスタジオを使用しており、asp.netアプリケーションを1つのプロジェクトとして、Webサービスを別のプロジェクトとして使用しています。asp.netアプリケーションでWebサービスを使用しています。私のWebサービスコードには何らかの問題があります.しかし、私はasp.netアプリケーションからWebサービスに継続的にデバッグすることができません.アプリケーションとWebサービスの両方にブレークポイントを配置しましたが、Webサービスでアクティブ化されていないブレークポイントと接続を示していますerror.localhost でホストしているときにこれを行うにはどうすればよいですか?

4

6 に答える 6

22

Web アプリケーションをスタートアップ プロジェクトとして実行している場合は、別のデバッグ インスタンスで Web サービスを実行してみてください。

これを行うには、Web サービス プロジェクトを右クリックし、[デバッグ] -> [新しいインスタンスを開始] を選択します。

于 2012-09-25T11:28:49.477 に答える
10

デバッガーを w3wp (IIS プロセス) にアタッチする必要があります。

ここにあなたを助けることができるリンクがあります。

于 2012-09-25T11:25:22.503 に答える
3

ローカル システムでデバッグする場合は、複数のスタートアップ プロジェクトを設定できます。ソリューションのプロパティで複数の起動を設定できます。この助けを願っています

于 2012-09-25T11:29:24.600 に答える
2

サービス自体をデバッグして、ブレークポイントに到達するかどうかを確認してください。サービスを含むプロジェクトをメイン プロジェクトに設定し、サービスをメインの開始ページに設定するだけです。

ブレークポイントに到達しない場合は、すべてのシンボルが読み込まれていない可能性があります。これは、プロジェクトがデバッグではなくリリース構成に設定されている場合に発生します。

于 2012-09-25T11:34:05.883 に答える
0

サービス参照を 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.');
                }
            });
        });

私はこれがあなたを助けると思います

于 2012-09-25T11:34:56.397 に答える
0

Web サービスはリモート コンピューターで実行されていますか? その場合、Web サービスのリモート デバッグをセットアップする必要があります。

于 2012-09-25T11:24:59.940 に答える