【问题标题】:How to publish web service in ASP.Net?如何在 ASP.Net 中发布 Web 服务?
【发布时间】:2011-06-19 06:51:09
【问题描述】:

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

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

【问题讨论】:

标签: c# asp.net asmx


【解决方案1】:

错误页面实际上是在 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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      您是否确保在 global.asax 文件中排除了路由?

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-02
        • 2012-04-21
        • 1970-01-01
        • 1970-01-01
        • 2012-03-28
        • 1970-01-01
        相关资源
        最近更新 更多