2012-09-25 21 views
11

Estoy usando Visual Studio y tengo la aplicación asp.net como un proyecto y un servicio web como otro proyecto. Estoy usando el servicio web en mi aplicación asp.net. Hay algún tipo de problema en mi código de servicio web. Pero no puedo depurar continuamente desde la aplicación asp.net al servicio web. Pongo punto de interrupción tanto en la aplicación como en el servicio web pero el punto de interrupción no está activado en el servicio web y me muestra conexión error.¿Cómo puedo hacer esto mientras alojo en localhost?¿Cómo se puede depurar el servicio web?

+0

Están alojados en IIS o mediante la prueba de que VS b servidor? Si IIS, en el host local o remoto? –

+0

Si obtiene un error de conexión, entonces no está llegando a ninguno de los códigos en el servicio web, es por eso que los puntos de interrupción en el servicio web no están siendo afectados. ¿Estás seguro de que tienes la dirección correcta? – Tobsey

+0

@Garland: ambos están en el host local –

Respuesta

15

Si está ejecutando una aplicación web como proyecto de inicio, intente ejecutar el servicio web en otra instancia de depuración.

usted puede hacerlo pulsando el botón derecho sobre el proyecto de servicio web, Depuración -> Iniciar nueva instancia

+0

esta es la manera correcta. –

+0

¡Perfecto! Lo probé y funcionó en una sola toma. –

2

El servicio web se ejecuta en una computadora remota, si es así, necesita configurar la depuración remota para el servicio web.

+0

El servicio web y la aplicación se encuentran en la misma computadora –

+1

¿es un servicio web wcf? si es así, debe habilitar la depuración para ello: http://msdn.microsoft.com/en-us/library/bb157687.aspx – NiladriBose

+0

No, no es wcf. –

7

Debe conectar el depurador a w3wp (proceso IIS).

Aquí hay un link que podría ayudarlo.

+0

estoy probando en el servidor de desarrollo asp.net. –

+0

has establecido un punto de quiebre en el método? – Cybermaxs

3

Si desea depurar en el sistema local, puede configurar múltiples proyectos de puesta en marcha. Puede establecer el inicio múltiple por propiedades de Solución. Espero que esta ayuda

1

Trate de depurar el servicio en sí y ver si se llega al punto de interrupción. Simplemente configure el proyecto que tiene el servicio como el proyecto principal y configure el servicio como la página principal de inicio.

Si no llega al punto de interrupción, probablemente no cargó todos los símbolos. Eso sucede si el proyecto está configurado para, digamos, la configuración de la versión y no la depuración.

0

Puede comprobar que agrega el servicio de referencia a su servicio web o no otro que no puede acceder a la función de servicio web. Estoy useing servicio web en mi proyecto como éste está por debajo de

Este es mi código de servicio 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(); 
     } 

Luego agregar la referencia de servicio a mi formulario web asp.net

este código en mi formulario

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

creo que esto le ayudará a

Cuestiones relacionadas