2012-09-25 14 views
11

私はVisual Studioを使用しています。私はasp.netアプリケーションを1つのプロジェクトとして、もう1つのプロジェクトとしてWebサービスを持っています。私はasp.netアプリケーションでWebサービスを使用しています。私のwebservice code.But私はasp.netアプリケーションからWebサービスに連続してデバッグすることができません。私はアプリケーションとWebサービスの両方でブレークポイントを入れますが、ブレークポイントはWebサービスではアクティブ化されず、接続が表示されますlocalhostでホストしている間にこれを行うことはできますか?Webサービスをデバッグするには?

+0

彼らはIISまたはVSテストによってホストされているあなたを助けるだろうと思いたちbサーバー? IIS、ローカルホストまたはリモートの場合? –

+0

接続エラーが発生した場合、Webサービスのコードに到達していないため、Webサービスのブレークポイントにヒットしていません。住所が正しいと確信していますか? – Tobsey

+0

@ガランド:どちらもローカルホスト –

答えて

15

Webアプリケーションをスタートアッププロジェクトとして実行している場合は、別のデバッグインスタンスでWebサービスを実行してみてください。あなたは、Webサービスプロジェクトを右クリックしてそれを行うことができます

、デバッグ - >ローカルシステムでデバッグする場合は、複数の起動のプロジェクトを設定することができ、新しいインスタンスに

+0

これは正しい方法です。 –

+0

完璧!私はちょうどそれをテストし、それはシングルショットで働いた。 –

2

Webサービスのリモートデバッグを設定する必要がある場合は、リモートコンピュータ上でWebサービスを実行していますか。

+0

Webサービスとアプリケーションはどちらも同じコンピュータにあります –

+1

wcf Webサービスですか?もしそうなら、デバッグを有効にする必要があります - http://msdn.microsoft.com/en-us/library/bb157687.aspx – NiladriBose

+0

いいえwcfはありません。 –

7

デバッガをw3wpに接続する必要があります(IISプロセス)。

ここにはlinkがあります。

+0

私はasp.net開発サーバーでテストしています。 –

+0

メソッドにブレークポイントを設定しましたか? – Cybermaxs

3

を開始します。 ソリューションのプロパティで複数の起動を設定できます。 希望のヘルプ

1

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

ブレークポイントにヒットしなかった場合は、すべてのシンボルがロードされていない可能性があります。プロジェクトが設定されていれば、リリース設定とデバッグはできません。

0

あなたがあなたのWebサービスを参照しているかどうかを確認してください。それ以外の場合は、Webサービス機能にアクセスできません。私はその後、私は自分のフォームで

私のasp.netの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(); 
     } 

をWebサービスをuseingています

<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.'); 
       } 
      }); 
     }); 

は、私は、これは

関連する問題