我必须更改ssl代理实现的网站端口,但是当我试图收听 80 之外的任何其他端口时,该网站无法正常工作(例如:81,82,90,8443, 9443等)。
该网站在 80 端口正常工作,其他端口低于错误
**
2>'/'应用程序中的服务器错误。**
描述:在执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息: System.MissingMethodException:没有为此对象定义无参数构造函数。
来源错误: 在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。
堆栈追踪:
[MissingMethodException:没有为此对象定义无参数构造函数。] System.RuntimeTypeHandle.CreateInstance(RuntimeType类型,Boolean publicOnly,Boolean noCheck,Boolean& canBeCached,RuntimeMethodHandleInternal& ctor,Boolean& bNeedSecurityCheck)+0 System.RuntimeType.CreateInstanceSlow(Boolean publicOnly,Boolean skipCheckThis,Boolean fillCache,StackCrawlMark& stackMark)+159 System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly,Boolean skipCheckThis,Boolean fillCache,StackCrawlMark& stackMark)+256 System.Activator.CreateInstance(Type type,Boolean nonPublic)+127 System.Activator.CreateInstance(类型类型)+11 System.Web.Mvc.DefaultControllerActivator.Create(RequestContext requestContext,Type controllerType)+92
[InvalidOperationException:尝试创建'WRIPMS.Controllers.LoginController'类型的控制器时发生错误。确保控制器具有无参数的公共构造函数。]
System.Web.Mvc.DefaultControllerActivator.Create(RequestContext requestContext,Type controllerType)+256
System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext,String controllerName)+81
System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext,IController& controller,IControllerFactory& factory)+280
System.Web.Mvc。<> c__DisplayClass6.b__2()+80
System.Web.Mvc。&lt;&gt; c__DisplayClassb 1.<ProcessInApplicationTrust>b__a() +19
System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(Func
1 func)+128
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+ 12650919
System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean&amp; completedSynchronously)+288
答案 0 :(得分:0)
该错误表示您的一个控制器具有接受参数的构造函数。对于具有依赖注入的应用程序,这是正常的。要使其工作,您必须创建一个自定义IControllerFactory并使用
在应用程序启动时注入它ControllerBuilder.Current.SetControllerFactory(new MyControllerFactory());
由于你的应用程序正在使用端口80,我怀疑你有一个控制器工厂(或控制器工厂的依赖项),它有硬编码的东西只能用于端口80。
答案 1 :(得分:0)
对不起,我的错误是我的web.config中有一些冗余条目,比如Keys有保存错误日志的路径等等。我的理解是它不会有任何麻烦。它也在本地服务器上工作。当我清理web.config冗余条目时,它已经工作了。
谢谢。