2011-02-01 5 views
3

Ci-dessous l'URL est le service Web que j'ai hébergé: http://monocept.net/vlt/html/AutoComplete.asmxComment publier un service Web dans ASP.Net?

lorsque j'appelle ce service, il appelle la méthode Web GetCompleteList(). Cette implémentation de méthode est définie dans le fichier AutoComplete.asmx.cs. Lorsque j'appelle ce service, il déclenche une exception en tant que HTTP 404, où, comme dans mon service de machine locale, il fonctionne correctement et est capable d'exécuter la méthode Web GetCompleteList().

+0

Spécifiez-vous tous les paramètres requis? D'ailleurs, il semble que votre service Web ne fonctionne pas. Juste le tester ici: http: //monocept.net/vlt/html/AutoComplete.asmx? Op = GetCompleteList – apros

+0

Ressemble à un problème de configuration IIS. Quels fichiers et dossiers sont présents dans votre répertoire virtuel? –

+0

[Suivi des demandes ayant échoué avec IIS] (http://learn.iis.net/page.aspx/266/troubleshooting-failed-requests-using-tracing-in-iis-7/) à la rescousse. –

Répondre

0

La page d'erreur est en fait le dumping à l'exception/trace de la pile dans un commentaire 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) 

Je ne suis pas familier avec MVC, donc je ne peux pas vous donner une réponse solide, mais des recherches cette exception se révèle un peu results.

0

Vous n'avez pas défini de contrôleur pour ce chemin. C'est une erreur MVC. Votre service n'a pas de logique métier.

0

Avez-vous veillé à exclure l'itinéraire de votre fichier global.asax?

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