2012-09-25 5 views
11

Ich benutze Visual Studio und ich habe asp.net-Anwendung als ein Projekt und ein Web-Service als ein anderes Projekt.Ich benutze Web-Service in meiner asp.net-Anwendung. Es gibt eine Art von Problem in meinem Webservice-Code. Aber ich bin nicht in der Lage, ständig von ASP.NET-Anwendung zu Web-Service zu debuggen.Ich bringe Punkt in Anwendung und Web-Service Breakpoint nicht aktiviert im Web-Service und es zeigt mir Verbindung error.Wie kann ich das tun, während ich auf localhost gehostet werde?Wie Debuggen von Web Service?

+0

helfen Sind sie in IIS oder von der VS-Test waren wir Gastgeber b Server? Wenn IIS, auf dem lokalen Host oder Remote? –

+0

Wenn Sie einen Verbindungsfehler bekommen, dann erreichen Sie keinen Code im Web Service, deshalb werden die Breakpoints im Web Service nicht erreicht. Sind Sie sicher, dass die Adresse korrekt ist? – Tobsey

+0

@Garland: beide sind auf localhost –

Antwort

15

Wenn Sie eine Webanwendung als Startprojekt ausführen, versuchen Sie, den Webdienst in einer anderen Debug-Instanz auszuführen.

Sie können es tun, indem Sie einen Rechtsklick auf Web-Service-Projekt, Debug -> Start neue Instanz

+0

das ist der richtige Weg. –

+0

Perfekt! Ich habe es gerade getestet und es hat in einem Schuss funktioniert. –

2

Wird der Web-Service auf einem Remote-Computer ausgeführt, müssen Sie das Remote-Debug für den Web-Service einrichten.

+0

Web-Service und Anwendung sind beide auf demselben Computer –

+1

ist es ein Web-Service? wenn ja, müssten Sie das Debuggen dafür aktivieren - http://msdn.microsoft.com/en-us/library/bb157687.aspx – NiladriBose

+0

Nein, es ist nicht wcf. –

7

Sie sollten den Debugger an W3wp (IIS-Prozess) anhängen.

Hier ist eine link, die Ihnen helfen könnte.

+0

Ich teste auf asp.net Entwicklungsserver. –

+0

haben Sie einen Unterbrechungspunkt in der Methode festgelegt? – Cybermaxs

3

Wenn Sie in lokalen System debuggen möchten, können Sie mehrere Start-up-Projekte eingestellt. Sie können mehrere Starts über die Lösungseigenschaften festlegen. Hoffe, diese Hilfe

1

Versuchen Sie, den Dienst selbst zu debuggen und zu sehen, ob es den Breakpoint trifft. Stellen Sie einfach das Projekt mit dem darin enthaltenen Dienst als Hauptprojekt ein und legen Sie den Dienst als Hauptstartseite fest.

Wenn es den Haltepunkt nicht trifft, hat es wahrscheinlich nicht alle Symbole geladen. Das passiert, wenn das Projekt beispielsweise auf Release configuration und nicht Debug gesetzt ist.

0

Können Sie bitte überprüfen, dass Sie Service-Referenz Ihren Web-Service oder nicht hinzufügen, können Sie nicht auf Ihre Web-Service-Funktion zugreifen. Ich useing Webservice in meinem Projekt wie dieses es unter

ist

dies ist meine Web-Service-Code

[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(); 
     } 

dann füge ich Dienst Bezug auf meine asp.net Webformular

dieser Code in meiner Form

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

ich denke, das Sie