好的,我收到堆栈错误。它被抓住的文件在这里
using System.Web;
using NHibernate;
using Nichols.Web.App_Start;
namespace Nichols.Web.DependencyResolution
{
public class StructureMapScopeModule : IHttpModule
{
public void Dispose()
{
StructuremapMvc.StructureMapDependencyScope.Dispose();
}
public void Init(HttpApplication context)
{
context.BeginRequest += (sender, e) =>
{
InitializeNestedContainerForRequest();
var session = GetCurrentSession();
session.BeginTransaction();
};
context.EndRequest += (sender, e) =>
{
var session = GetCurrentSession();
if (context.Context.Error == null
&& IsOk(context.Response.StatusCode))
{
session.Transaction.Commit();
}
else
{
session.Transaction.Rollback();
}
DisposeNestedContainerForRequest();
};
}
private ISession GetCurrentSession()
{
var container = StructuremapMvc.StructureMapDependencyScope.CurrentNestedContainer;
return container.GetInstance<ISession>();
}
private void InitializeNestedContainerForRequest()
{
StructuremapMvc.StructureMapDependencyScope.CreateNestedContainer();
}
private void DisposeNestedContainerForRequest()
{
StructuremapMvc.StructureMapDependencyScope.DisposeNestedContainer();
}
private bool IsOk(int statusCode)
{
return statusCode >= 200 && statusCode < 300;
}
}
}
我到处寻找,它引用版本 3.0.5 作为可能的解决方案。任何帮助表示赞赏!
我收到的错误在这里:
Server Error in '/' Application.
Bi-directional dependency relationship detected!
Check the StructureMap stacktrace below:
1.) Lambda: default
2.) Instance of NHibernate.ISession
3.) Container.GetInstance(NHibernate.ISession)
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: StructureMap.Building.StructureMapBuildException: Bi-directional dependency relationship detected!
Check the StructureMap stacktrace below:
1.) Lambda: default
2.) Instance of NHibernate.ISession
3.) Container.GetInstance(NHibernate.ISession)
Source Error:
Line 43: {
Line 44: var container = StructuremapMvc.StructureMapDependencyScope.CurrentNestedContainer;
Line 45: return container.GetInstance<ISession>();
Line 46: }
Line 47:
Source File: C:\projects\NicholsFarms_demo_newCropYear\Nichols\src\Nichols.Web\DependencyResolution\StructureMapScopeModule.cs Line: 45
Stack Trace:
[StructureMapBuildException: Bi-directional dependency relationship detected!
Check the StructureMap stacktrace below:
1.) Lambda: default
2.) Instance of NHibernate.ISession
3.) Container.GetInstance(NHibernate.ISession)
]
lambda_method(Closure , IBuildSession , IContext ) +692
StructureMap.Building.BuildPlan.Build(IBuildSession session, IContext context) in c:\BuildAgent\work\996e173a8ceccdca\src\StructureMap\Building\BuildPlan.cs:151
StructureMap.Pipeline.LifecycleObjectCache.Get(Type pluginType, Instance instance, IBuildSession session) in c:\BuildAgent\work\996e173a8ceccdca\src\StructureMap\Pipeline\LifecycleObjectCache.cs:71
StructureMap.SessionCache.GetObject(Type pluginType, Instance instance, ILifecycle lifecycle) in c:\BuildAgent\work\996e173a8ceccdca\src\StructureMap\SessionCache.cs:88
StructureMap.SessionCache.GetDefault(Type pluginType, IPipelineGraph pipelineGraph) in c:\BuildAgent\work\996e173a8ceccdca\src\StructureMap\SessionCache.cs:66
StructureMap.Container.GetInstance(Type pluginType) in c:\BuildAgent\work\996e173a8ceccdca\src\StructureMap\Container.cs:335
StructureMap.Container.GetInstance() in c:\BuildAgent\work\996e173a8ceccdca\src\StructureMap\Container.cs:200
Nichols.Web.DependencyResolution.StructureMapScopeModule.GetCurrentSession() in C:\projects\NicholsFarms_demo_newCropYear\Nichols\src\Nichols.Web\DependencyResolution\StructureMapScopeModule.cs:45
Nichols.Web.DependencyResolution.StructureMapScopeModule.<Init>b__1_0(Object sender, EventArgs e) in C:\projects\NicholsFarms_demo_newCropYear\Nichols\src\Nichols.Web\DependencyResolution\StructureMapScopeModule.cs:20
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +142
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +92
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.6.1055.0