¿Cuál es el formato del archivo de definición de contexto xml que leerá XmlApplicationContext (sFileName)?

StackOverflow https://stackoverflow.com/questions/301770

  •  08-07-2019
  •  | 
  •  

Pregunta

Todos los ejemplos que puedo buscar en línea usan el modo App.Config para especificar la definición de contexto recuperada por

contextToGetSprungObjects = ContextRegistry.GetContext(contextname)

Quiero usar

contextToGetSprungObjects = new XmlApplicationContext(sXmlFileName)

(estoy llamando a un archivo DLL (que necesita Spring.net) desde otro ejecutable (MsWord) para que el enfoque app.config esté desactivado). Intenté escabullirme en MyDll.dll.config ... no voló. Al usar el enfoque XmlApplicationContext para leerlo desde un archivo xml especificado, aparece el siguiente error

{"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>"}

Lo que me lleva a creer que los dos enfoques necesitan su xml en una botella de forma diferente. Busqué por todas partes pero el esquema para el xml que se necesita se me escapa ... todo lo que puedo encontrar usa X.exe.config o Web.config. ¿Alguien puede señalarme una definición de contexto xml válida para Spring.net?

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

Creo que esta es la sección relevante de la aplicación.config que quiero que lea Spring.net

¿Fue útil?

Solución

  

Los documentos de Spring.NET son un buen ejercicio para el dolor

¿revisó la sección introductoria " Conceptos básicos: contenedores y objetos " de los documentos de referencia? Imho capítulos 5.2.1 " Metadatos de configuración " y 5.2.2 "Instanciar el contenedor" demuestra claramente lo que estabas tratando de lograr. ¿Cuáles fueron tus puntos débiles? ¡Estaremos encantados de recibir sus sugerencias de mejora!

También me gustaría sugerirle que publique Spring para preguntas relevantes de .NET en nuestros foros de la comunidad - es más probable que sus preguntas sean respondidas allí.

aplausos, Erich

Otros consejos

Finalmente eliminó este obstáculo. XmlApplicationContext no lee el mapeo intermedio xml en app.config ... lee el contenido señalado como el elemento de recurso directamente. No leerá el formato app.config, que es utilizado por la clase ContextRegistry en Spring.net. Los documentos de Spring.net son un buen ejercicio para el dolor.

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

donde este xml tiene la siguiente forma.

<?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>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top