我有一个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-未找到错误状态的东西?