Incapaz de projeto de serviço web de depuração no Visual Studio 2008

votos
1

Fui designado um aplicativo web escrito em VB usando VStudio.net 2003. Eu estou tentando configurar a fonte no meu localhost (VStudio 2008) para que eu possa explorar e aprender sobre o aplicativo atual (antes de começar quaisquer mudanças reais) e não consigo me depurar trabalhando para o projeto (s) serviço web.

Sintoma 1:

 Unable to automatically step into the server. The remote procedure could not be debugged. 
  This usually indicates that debugging has not been enabled on the server.
  See help for more information. 

Isso acontece quando tento F11 (StepInto) a classe de proxy que invoca o meu método web real.

Sintoma 2: Pré-definindo um ponto de interrupção no meu código ficheiro.asmx na afirmação de que será invocado não funciona (ou seja, o depurador simplesmente não pára).

Tendo descrito a situação, é aqui como minha solução VStudio está configurado:

Service1 - projeto criado a partir do VB - WEB - modelo ASP.NET Aplicação Web Service; este projecto Service1 contém minha principal código fonte .asmx eu quero depurar. Web.config para este projeto contém compilação defaultLanguage = debug vb = true

ProxyService1 - um projeto separado criado a partir do Windows - modelo [VB] biblioteca de classes; aqui o arquivo Form1.vb foi eliminado; Eu visitei Adicionar serviço de referência -> Descubra (Serviços em solução) e, em seguida, na seção Compatibilidade Eu clique em Add Web Reference. Em seguida, escolher o Service1 acima, eu atribuí-lo um nome de referência da Web de WSservice1. Isso resulta em um arquivo Reference.vb e quando eu construir a classe ProxyService1 uma DLL com o mesmo nome na pasta de projetos bin \ Debug; este projeto tem um arquivo App.Config com compilação defaultLanguage = debug vb = true

Project1 - o projeto de interface do usuário principal com a .aspx e arquivos .vb que chamam a webservice; project1 tem uma referência para ProxyService1.DLL; Web.config para este projeto contém compilação defaultLanguage = debug vb = true. Eu chegar a um ponto de interrupção em um dos arquivos neste projeto chamado message.vb que parece mais ou menos assim:

Public Class Message
Dim wsZipeee As New ProxyService1.WSservice1.myService
Dim dsMessage As DataSet
Public Function GetMessageByType(ByVal iMsgType As Integer) As DataSet
    dsMessage = wsZipeee.GetMessageByType(iMsgType)

Se eu RIGHTMOUSE / ir para a definição sobre o stmt acima, aqui está o código em Reference.vb no meu projeto ProxyService1:

    <System.Web.Services.Protocols.SoapDocumentMethodAttribute(http://tempuri.org/ZipeeeWebService/Zipeee/Get Message By Type, RequestElementName:=Get Message By Type, RequestNamespace:=http://tempuri.org/ZipeeeWebService/Zipeee, ResponseElementName:=Get Message By TypeResponse, ResponseNamespace:=http://tempuri.org/ZipeeeWebService/Zipeee, Use:=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle:=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)>  _
    Public Function GetMessageByType(ByVal iMsgType As Integer) As <System.Xml.Serialization.XmlElementAttribute(Get Message By TypeResult)> System.Data.DataSet
        Dim results() As Object = Me.Invoke(GetMessageByType, New Object() {iMsgType})
        Return CType(results(0),System.Data.DataSet)
    End Function

Para completar, aqui é o webmethod correspondente no arquivo .asmx do projeto Service1:

<WebMethod(MessageName:=Get Message By Type)> _
 Public Function GetMessageByType(ByVal iMsgType As Integer) As DataSet
    con = New SqlConnection(sConnZipeee)
    con.Open()

Everyplace no IIS Eu sei para verificar e dentro das propriedades do projeto Eu verifiquei para a configuração de depuração adequada a ser marcado ou definido em. Eu depurado outras coisas que são criados como este, mas estou realmente preso sobre o que eu perdi sobre esta solução.

Publicado 19/05/2009 em 20:35
fonte usuário
Em outras línguas...                            


4 respostas

votos
1

Para info - se você tem aqui procurando como depurar um serviço .NET4 web do VS2008 app / NET3.5, você precisa para começar o serviço em VS2010, definir um ponto de interrupção no serviço e, em seguida, executar o aplicativo a partir VS2008 como normal. O ponto de ruptura será atingido.

Sem correr o serviço em VS2010, você receberá o erro descrito por John acima.

Respondeu 11/01/2012 em 12:12
fonte usuário

votos
1

Quando eu depurar webservices, eu costumo selecionar a opção "Não abra uma página. Espere por um pedido de um aplicativo externo" na seção Web dos meus propriedades do projeto ( mais informações aqui ). Eu também normalmente executar o projeto em 2 instâncias de VS, um para webservice e um para o cliente. Eu posso colocar break points nos acessos webservice e tudo e eu posso ver o que está acontecendo.

Respondeu 19/05/2009 em 20:40
fonte usuário

votos
0

I normalmente colocado da lógica para depurar na biblioteca de classe que eu posso começar com um aplicativo de console para debug. Este link será útil também se você deve depurar como um serviço.

Respondeu 19/05/2009 em 20:45
fonte usuário

votos
0

tentar anexar depurador sobre a execução de aspnet_wp.exe processo

Respondeu 19/05/2009 em 20:41
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more