如何在ASP.Net中发布Web服务?

时间:2011-02-01 13:24:56

标签: c# asp.net asmx

以下网址是我托管的网络服务:http://monocept.net/vlt/html/AutoComplete.asmx

当我调用此服务时,它调用Web方法GetCompleteList()。此方法实现在AutoComplete.asmx.cs文件中定义。当我调用这个服务时,它会抛出异常HTTP 404,就像我的本地机器服务工作正常并且能够点击GetCompleteList()Web方法一样。

3 个答案:

答案 0 :(得分:0)

错误页面实际上是在HTML注释中转出异常/堆栈跟踪:

[HttpException]: The controller for path '/vlt/html/AutoComplete.asmx/GetCompleteList' was not found or does not implement IController.
   at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)
   at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)
   at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory)
   at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)
   at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)
   at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

我对MVC并不熟悉,所以我真的无法给你一个可靠的答案,但研究这个例外只会出现一些results

答案 1 :(得分:0)

您尚未为此路径定义控制器。这是MVC错误。您的服务没有业务逻辑。

答案 2 :(得分:0)

您确定要在global.asax文件中排除路线吗?

routes.IgnoreRoute("{resource}.asmx/{*pathInfo}");