如何从ASP.NET Web服务调试404 Not Found错误的原因?

时间:2019-06-19 20:45:21

标签: asp.net web-services debugging visual-studio-2013

我有一个ASP.NET Web服务,其中包含ASP.NET Web应用程序使用的几种方法。一种解决方案为Web服务和Web应用程序保留两(2)个项目。该解决方案在启动时启动Web服务。 Web服务运行后,然后选择...

  

调试>启动新实例

...启动Web应用程序。

在Web应用程序启动时,它将调用Web服务。我可以为这些空的子例程(Application_BeginRequest,Application_AuthenticateRequest和Application_Error)击中Web服务的Global.asax.vb文件中设置的断点。我还为Web服务的.asmx.vb文件中定义的每个函数设置了断点。

在获取WebServiceInterface.vb中返回的404之前,Web应用程序先执行以下代码...

Shared Sub New()
    Dim settings As appSettings = appSettingsHelper.loadWebServiceSettings(HttpRuntime.AppDomainAppPath)
    service = New WebService.WebService()
    service.Timeout = -1

    service.Url = settings.WebServiceURL
End Sub

...然后从Web应用程序中调用此功能...

Public Shared Function selectTasksForGridDisplay() As DataSet
    Dim currentUpdateDate As DateTime = service.selectTaskUpdateInfo()

    '<code to process returned DateTime from web server method>
End Function

...然后在Reference.vb文件中调用此函数...

<System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/selectTaskUpdateInfo", RequestNamespace:="http://tempuri.org/", ResponseNamespace:="http://tempuri.org/", Use:=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle:=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)>  _
    Public Function selectTaskUpdateInfo() As Date
        Dim results() As Object = Me.Invoke("selectTaskUpdateInfo", New Object(-1) {})
        Return CType(results(0),Date)
    End Function

在执行接口的“ selectTaskUpdateInfo”之后,Web服务将收到调试请求。该Web服务的Global.asax.vb文件命中了断点,但没有到达定义了“ selectTaskUpdateInfo”方法的WebService,asmx.vb文件。

该Web服务的Global.asax.vb文件具有空的子例程,其中只有注释行。有问题吗?

Imports System.Web.SessionState

Public Class Global_asax
    Inherits System.Web.HttpApplication

    Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
        'Fires when the application is started
    End Sub

    Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
        ' Fires when the session is started
    End Sub

    Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
        ' Fires at the beginning of each request
    End Sub

    Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e As EventArgs)
        ' Fires upon attempting to authenticate the use
    End Sub

    Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
        ' Fires when an error occurs
    End Sub

    Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
        ' Fires when the session ends
    End Sub

    Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)
        ' Fires when the application ends
    End Sub

End Class

但是,Web服务的.asmx.vb文件的任何断点都不会被命中。即使请求的Web方法似乎是由此Web服务定义的,也会发生这种情况。

该Web服务仅返回HTTP状态404-未找到,但我不知道为什么。

是否存在一些Visual Studio 2013设置,替代断点或其他可以帮助确定Web服务为何返回404-未找到错误状态的东西?

0 个答案:

没有答案