服务器老是返回500,请高手予以帮助解决
在windows server2003下面部署了一个网站,网站是用mvc3+WCF框架,现在手机客户端post访问该网站时,访问其它接口函数没问题,但是访问public ActionResult GetSportsByVenuesID(string strSessionID, string strVenuesID, int iOderBy, int iSkip, int iLimit)这个接口函数时,手机客户端收到从服务器返回的500错误,以下是服务器的日志信息,从日志中感觉好像这个函数被重载了,但是我只定义了一个这个函数,并未重载它。请求信息:
请求 URL: http://211.154.136.110/Default/GetSportsByVenuesID
请求路径: /Default/GetSportsByVenuesID
用户主机地址: 58.251.86.189
用户:
是否已经过身份验证: False
身份验证类型:
线程帐户名: NT AUTHORITY\NETWORK SERVICE
线程信息:
线程 ID: 32
线程帐户名: NT AUTHORITY\NETWORK SERVICE
是否正在模拟: False
堆栈跟踪: 在 System.Web.Mvc.ReflectedControllerDescriptor.FindAction(ControllerContext controllerContext, String actionName)
在 System.Web.Mvc.ControllerActionInvoker.FindAction(ControllerContext controllerContext, ControllerDescriptor controllerDescriptor, String actionName)
在 System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
在 System.Web.Mvc.Controller.ExecuteCore()
在 System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)
在 System.Web.Mvc.MvcHandler.<>c__DisplayClass6.<>c__DisplayClassb.<BeginProcessRequest>b__5()
在 System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass1.<MakeVoidDelegate>b__0()
在 System.Web.Mvc.MvcHandler.<>c__DisplayClasse.<EndProcessRequest>b__d()
在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) --------------------编程问答-------------------- 事件代码: 3005
事件消息: 发生了未经处理的异常。
事件时间: 2012-2-21 15:31:27
事件时间(UTC): 2012-2-21 7:31:27
事件 ID: cca127003088413d8d4313429614cdba
事件序列: 204
事件匹配项: 9
事件详细信息代码: 0
应用程序信息:
应用程序域: /LM/W3SVC/865452/Root-1-129742780417724102
信任级别: Full
应用程序虚拟路径: /
应用程序路径: D:\webroot\
计算机名: HDF-89441F03605
进程信息:
进程 ID: 2892
进程名: w3wp.exe
帐户名: NT AUTHORITY\NETWORK SERVICE
异常信息:
异常类型: AmbiguousMatchException
异常消息: The current request for action 'GetSportsByVenuesID' on controller type 'DefaultController' is ambiguous between the following action methods:
System.Web.Mvc.ActionResult GetSportsByVenuesID(System.String, Int32, Int32, Int32) on type SuperTTS.Client.WEB.Controllers.DefaultController
System.Web.Mvc.ActionResult GetSportsByVenuesID(System.String, System.String, Int32, Int32, Int32) on type SuperTTS.Client.WEB.Controllers.DefaultController
在 System.Web.Mvc.ReflectedControllerDescriptor.FindAction(ControllerContext controllerContext, String actionName)
在 System.Web.Mvc.ControllerActionInvoker.FindAction(ControllerContext controllerContext, ControllerDescriptor controllerDescriptor, String actionName)
在 System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
在 System.Web.Mvc.Controller.ExecuteCore()
在 System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)
在 System.Web.Mvc.MvcHandler.<>c__DisplayClass6.<>c__DisplayClassb.<BeginProcessRequest>b__5()
在 System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass1.<MakeVoidDelegate>b__0()
在 System.Web.Mvc.MvcHandler.<>c__DisplayClasse.<EndProcessRequest>b__d()
在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
请求信息:
请求 URL: http://211.154.136.110/Default/GetSportsByVenuesID
请求路径: /Default/GetSportsByVenuesID
用户主机地址: 58.251.86.189
用户:
是否已经过身份验证: False
身份验证类型:
线程帐户名: NT AUTHORITY\NETWORK SERVICE
线程信息:
线程 ID: 32
线程帐户名: NT AUTHORITY\NETWORK SERVICE
是否正在模拟: False
堆栈跟踪: 在 System.Web.Mvc.ReflectedControllerDescriptor.FindAction(ControllerContext controllerContext, String actionName)
在 System.Web.Mvc.ControllerActionInvoker.FindAction(ControllerContext controllerContext, ControllerDescriptor controllerDescriptor, String actionName)
在 System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
在 System.Web.Mvc.Controller.ExecuteCore()
在 System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)
在 System.Web.Mvc.MvcHandler.<>c__DisplayClass6.<>c__DisplayClassb.<BeginProcessRequest>b__5()
在 System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass1.<MakeVoidDelegate>b__0()
在 System.Web.Mvc.MvcHandler.<>c__DisplayClasse.<EndProcessRequest>b__d()
在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
自定义事件详细信息:
--------------------编程问答-------------------- System.Web.Mvc.ActionResult GetSportsByVenuesID(System.String, Int32, Int32, Int32) on type SuperTTS.Client.WEB.Controllers.DefaultController
System.Web.Mvc.ActionResult GetSportsByVenuesID(System.String, System.String, Int32, Int32, Int32) on type SuperTTS.Client.WEB.Controllers.DefaultController
可以考虑给这2个方法中的方法名换一个别名,或者是对于其中一个取另外一个方法名 --------------------编程问答-------------------- wcf 应该是不支持函数重载,意思是不能有同名的函数即使你的参数类型或者个数不同。 --------------------编程问答-------------------- windows server2003 是SP3 还是SP2的??
AmbiguousMatchException 使用值为 0x8000211D 的 HRESULT COR_E_AMBIGUOUSMATCH。
当成员是以后期绑定的形式被调用且多个重载满足绑定条件时,或者当有多个成员与传递给仅能返回单个结果的反射方法(例如,Type.GetMethod 或 Type.GetProperty)的绑定条件匹配时,引发 AmbiguousMatchException。
MSDNhttp://msdn.microsoft.com/zh-cn/library/system.reflection.ambiguousmatchexception.aspx
补充:.NET技术 , ASP.NET