XmlApplicationContext(sFileName)将读取的xml上下文定义文件的格式是什么?

时间:2008-11-19 12:38:12

标签: spring.net

我可以在线搜索的所有示例都使用App.Config模式指定由

检索的上下文定义
contextToGetSprungObjects = ContextRegistry.GetContext(contextname)

我想用

contextToGetSprungObjects = new XmlApplicationContext(sXmlFileName)

(我从另一个可执行文件(MsWord)调用了一个DLL(需要Spring.net),所以app.config方法已经出来了)。我试图偷偷摸摸MyDll.dll.config ..没飞。 在使用XmlApplicationContext方法从指定的xml文件中读取它时,我收到以下错误

{"Error registering object with name '' defined in 'file [D:\\Work\\Seven\\WordAutomation\\ContentControls\\WordDocument1\\bin\\debug\\MyWPFPlotPopup.dll.config]' : There is no parser registered for namespace ''\r\n<configSections><sectionGroup name=\"spring\"><section name=\"context\" type=\"Spring.Context.Support.ContextHandler, Spring.Core\" /></sectionGroup><section name=\"log4net\" type=\"log4net.Config.Log4NetConfigurationSectionHandler, log4net\" /></configSections>"}

这让我相信这两种方法需要在不同形状的瓶子中使用xml。我搜索的是高低,但是需要的xml架构让我感到困惑......我能找到的所有内容都使用X.exe.config或Web.config。有人能指出我对Spring.net有效的xml上下文定义吗?

<spring>
    <context>
        <context name="MyApplication">
            <resource uri="file://Resources/MyApplicationContext.xml"/>
        </context>
    </context>
</spring>

我认为这是我希望Spring.net读取的app.config的相关部分

2 个答案:

答案 0 :(得分:2)

最后清除了这个障碍。 XmlApplicationContext不读取app.config中的中间映射xml ...它直接读取指向资源元素的内容。它不会读取app.config格式 - 它由Spring.net中的ContextRegistry类使用。 Spring.net docs是一个很好的练习。

context = new XmlApplicationContext("file://Resources/MyApplicationContext.xml");

此xml的格式如下。

<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net">
  <object id="Wilma" type="WhatIsSpring.Wilma, WhatIsSpring"/>
  <object id="Fred" type="WhatIsSpring.Fred, WhatIsSpring">
    <property name="TheDependency" ref="Wilma"/>
  </object>
</objects>

答案 1 :(得分:2)

  

Spring.NET文档是一个很好的练习

您是否查看了参考文档的“Basics - containers and objects”的介绍部分? Imho章节5.2.1“配置元数据”和5.2.2“实例化容器”非常清楚地展示了您试图实现的目标。你的痛点是什么?我们很乐意收到您的改进建议!

我还建议您向我们的community forums发布Spring for .NET相关问题 - 更有可能在那里回答您的问题。

欢呼声, 埃里希