Asp.net mvc 3 在IIS上部署后出现Structuremap 207错误
我们正在使用ASP.NETMVC3.0框架开发一个应用程序。我们正在使用structuremap在运行时注入对象。为此,我们使用构造函数注入。我们编写了自定义控制器工厂,其中控制器的创建通过Asp.net mvc 3 在IIS上部署后出现Structuremap 207错误,asp.net-mvc-3,structuremap,Asp.net Mvc 3,Structuremap,我们正在使用ASP.NETMVC3.0框架开发一个应用程序。我们正在使用structuremap在运行时注入对象。为此,我们使用构造函数注入。我们编写了自定义控制器工厂,其中控制器的创建通过return(controller)ObjectFactory.GetInstance(controllerType)委托给该工厂。通过将接口映射到具体类,使用DSL定义定义 当应用程序在VisualStudioDevelopmentServer上运行时,一切正常。但是,如果在IIS7.0上部署相同的应用程序
return(controller)ObjectFactory.GetInstance(controllerType)委托给该工厂代码>。通过将接口映射到具体类,使用DSL定义定义
当应用程序在VisualStudioDevelopmentServer上运行时,一切正常。但是,如果在IIS7.0上部署相同的应用程序,则在运行时创建对象时会抛出207个错误
我们是否需要更新IIS上的任何设置或帮助调试此问题的步骤,是否有人可以提供帮助?请查找以下问题的堆栈跟踪
ExceptionStructureMap Exception Code:
207 Internal exception while creating Instance '83248ea8-b195-4166-8a7d-678e9a677c9f' of PluginType Payrs.Web.Controllers.PaymentRequestController.
Check the inner exception for more details.Stack Trace :
at StructureMap.Pipeline.ConstructorInstance.Build(Type pluginType, BuildSession session, IInstanceBuilder builder)
at StructureMap.Pipeline.ConstructorInstance.build(Type pluginType, BuildSession session)
at StructureMap.Pipeline.Instance.createRawObject(Type pluginType, BuildSession session)
at StructureMap.Pipeline.Instance.Build(Type pluginType, BuildSession session)
at StructureMap.Pipeline.ObjectBuilder.Resolve(Type pluginType, Instance instance, BuildSession session)
at StructureMap.BuildSession.CreateInstance(Type pluginType, Instance instance)
at StructureMap.BuildSession.<>c__DisplayClass3.<.ctor>b__1()
at StructureMap.BuildSession.CreateInstance(Type pluginType)
at Payrs.Web.Infrastructure.PayrsControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)
**Inner Exception**
at Payrs.Web.Controllers.PaymentRequestController..ctor(IPaymentService paymentRequestService, IFundingService fundingService)
at lambda_method(Closure , IArguments )
at StructureMap.Construction.BuilderCompiler.FuncCompiler`1.<>c__DisplayClass2.<CreateBuilder>b__0(IArguments args)
at StructureMap.Construction.InstanceBuilder.BuildInstance(IArguments args)
at StructureMap.Pipeline.ConstructorInstance.Build(Type pluginType, BuildSession session, IInstanceBuilder builder)
异常结构映射异常代码:
207创建插件类型Payrs.Web.Controllers.PaymentRequestController的实例“83248ea8-b195-4166-8a7d-678e9a677c9f”时出现内部异常。
有关详细信息,请检查内部异常。堆栈跟踪:
在StructureMap.Pipeline.ConstructorInstance.Build(输入pluginType、BuildSession会话、IInstanceBuilder)
在StructureMap.Pipeline.ConstructorInstance.build(类型pluginType,BuildSession session)
位于StructureMap.Pipeline.Instance.createRawObject(类型为pluginType,BuildSession会话)
在StructureMap.Pipeline.Instance.Build(类型pluginType,BuildSession session)
在StructureMap.Pipeline.ObjectBuilder.Resolve(类型pluginType、实例实例、BuildSession会话)
在StructureMap.BuildSession.CreateInstance(类型pluginType,实例Instance)
在StructureMap.BuildSession.c__DisplayClass3.b__1()中
位于StructureMap.BuildSession.CreateInstance(类型pluginType)
位于Payrs.Web.Infrastructure.PayrsControllerFactory.GetControllerInstance(RequestContext RequestContext,类型controllerType)
**内部异常**
在Payrs.Web.Controllers.PaymentRequestController..ctor(IPaymentService paymentRequestService,IFundingService fundingService)
在lambda_法下(闭合,i曲线)
在StructureMap.Construction.BuilderCompiler.FuncCompiler`1.c\u DisplayClass2.b\u 0(IArguments参数)
位于StructureMap.Construction.InstanceBuilder.BuildInstance(IArguments参数)
在StructureMap.Pipeline.ConstructorInstance.Build(输入pluginType、BuildSession会话、IInstanceBuilder)
通过structuremap代码和web服务器监控进行故障排除后,我能够找出问题所在
在这种情况下,会发生未处理的led异常,该异常正在折叠当前应用程序域并创建新的应用程序域以处理请求。由于整个structuremap配置是在应用程序域级别完成的,因此容器定义为空,这就是结构映射无法在构造函数中注入对象的原因
Elmah帮助我识别未处理的led异常,通过纠正问题和处理异常避免了此错误。检查内部异常以了解更多详细信息
->您这样做了吗?内部异常在附加的堆栈跟踪中。正如我提到的,它在将对象注入控制器构造函数时抛出错误。