2011-02-01 67 views
3

下面的url是我託管的web服務:http://monocept.net/vlt/html/AutoComplete.asmx如何在ASP.Net中發佈Web服務?

當我調用這個服務時,它調用web方法GetCompleteList()。此方法實現在AutoComplete.asmx.cs文件中定義。當我調用這個服務時,它會拋出異常作爲HTTP 404,在我的本地機器服務中工作正常,並且能夠擊中GetCompleteList()Web方法。

+0

您指定所有必需的參數?順便說一下,你的web服務似乎不起作用。只需在此處進行測試:http://monocept.net/vlt/html/AutoComplete.asmx?op = GetCompleteList – apros 2011-02-01 13:30:45

回答

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

0

您尚未爲此路徑定義控制器。這是MVC錯誤。您的服務沒有業務邏輯。

0

你有沒有保證,你是不包括在Global.asax文件的路徑?

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