C# Can';t从ContextRegistry.GetContext()获取WebApplicationContext对象:';网络';协议未定义

C# Can';t从ContextRegistry.GetContext()获取WebApplicationContext对象:';网络';协议未定义,c#,asp.net,dependency-injection,webforms,spring.net,C#,Asp.net,Dependency Injection,Webforms,Spring.net,为了获得WebApplicationContext的实例(位于Global.asax),然后能够使用scope=“application | session | request”,我在web表单项目下配置web.config文件时遇到了麻烦 然后,我尝试将WebApplicationContext添加到我的应用程序对象中,以便在任何.aspx页面上消费 protected void Application_Start(object sender, EventArgs e) { //E

为了获得WebApplicationContext的实例(位于Global.asax),然后能够使用scope=“application | session | request”,我在web表单项目下配置web.config文件时遇到了麻烦


然后,我尝试将WebApplicationContext添加到我的应用程序对象中,以便在任何.aspx页面上消费

protected void Application_Start(object sender, EventArgs e)
{
    //Exception happens on next line!
    Application.Add("ContainerID", ContextRegistry.GetContext());
}
我得到的例外是

"Error creating context 'spring.root': Resource handler for the 'web' protocol is not defined. Spring.NET"
我花了一些时间在谷歌上搜索,但没有成功。我在Spring.NET文档中找到; “在web应用程序中,Spring提供 WebApplicationContext实现,通过添加自定义HTTP模块和HTTP 您的Web.config文件的处理程序。有关更多详细信息,请参阅“Web配置”部分。“但这绝不会发生


请,有人能帮我吗?

spring.net容器未在
应用程序\u Start
上初始化


顺便问一下,为什么要在
应用程序中添加容器?这听起来像是一个反模式…

将此添加到system.webServer配置节点:

<modules runAllManagedModulesForAllRequests="true">
  <add name="Spring" preCondition="integratedMode" type="Spring.Context.Support.WebSupportModule, Spring.Web"/>
</modules>   


如果您在IIS7中使用集成模式

是的@Jaguar,thanx非常好!!!它真的成功了!!!我只是尝试了更多的时间,以确保我不会有其他问题,然后接受你的答案!!!看看这有多奇怪;如果我没有声明de-httpHandler/httpModule,我可以在App_启动时初始化容器并正常使用它,但是我得到了一个XmlApplication上下文而不是WebAppContext。这就是为什么我觉得有问题。再次感谢你,兄弟!!!很快我将接受您的回答。@Jaguar您在
Application\u Start
上初始化Spring容器,以运行需要在应用程序运行之前运行的业务规则,即更新静态单例数据。@RenatoGama您是如何解决问题的?从您的
应用程序\u Start
?@execges中删除
ContextRegistry.GetContext()
?@很抱歉,这是我在近10年前解决的问题,我不记得确切的解决方案:/