无法从Spring.NET中的UNC路径导入?

时间:2012-02-14 21:06:27

标签: spring.net

我有一个简单的Spring.NET演示,我正在尝试拥有一个驻留在共享驱动器上的共享object file。如果我将UNC path作为资源文件传递给构造函数,这是有效的,但如果使用<import resource构造,则将其解释为相对,这是不受支持的。有没有办法可以将import语句与UNC路径一起使用?

作品:

<context>
  <resource uri="config://spring/objects"/>
  <resource uri="\\server\share\folder\SpringConfig.xml"/>
</context>

不起作用:

<import resource="\\server\share\folder\SpringConfig.xml"></import>

错误讯息:

  

System.Configuration.ConfigurationErrorsException:创建上下文'spring.root'时出错:ConfigSectionResource不支持相关资源。请使用完全限定的资源名称。 ---&GT; Spring.Objects.Factory.ObjectDefinitionStoreException:注册'config [C:\ Users \ user \ documents \ visual studio 2010 \ Projects \ SpringExample \ SpringExample \ bin \ Debug \ SpringExample.vshost.exe.Config#spring / objects中定义的对象时出错]在第1行':解析元素失败    ---&GT; System.NotSupportedException:ConfigSectionResource不支持相关资源。请使用完全限定的资源名称。

3 个答案:

答案 0 :(得分:3)

使用完全限定的资源字符串并在整个过程中使用正斜杠:

<objects xmlns="http://www.springframework.net">
  <import resource="file:////server/share/folder/SpringConfig.xml" />
</objects>

请注意,文件:协议标识符后跟四个斜杠,两个属于协议,两个属于服务器位置。 在我的机器上工作:)。这也有效:

<objects xmlns="http://www.springframework.net">
  <import resource="file://\\server\share\folder\SpringConfig.xml" />
</objects>

答案 1 :(得分:2)

嗯.. 这应该工作。我不明白的是ConfigSectionResource抛出异常的原因。 默认情况下,应在非Web应用程序中使用FileSystemResource。

您使用的是什么版本的Spring.NET?你在使用CodeCondig扩展吗?

无论如何,这应该有效:

<resource uri="file://\\server\share\folder\SpringConfig.xml"/>

答案 2 :(得分:0)

老实说,我不确定是否支持UNC路径,但是如果你想要一个完全限定的文件路径,你需要使用<resource uri="file://c:/folder1/folder2/MyConfig.xml" /> IIRC。