C# Quartz.NET/Castle Windsor集成XmlExplorer异常
下载了Quartz.NET集成项目的最新源代码以重现我遇到的错误后,我担心源SampleApp会产生相同的问题 启动程序时,我正尝试如下配置容器:C# Quartz.NET/Castle Windsor集成XmlExplorer异常,c#,castle-windsor,quartz.net,C#,Castle Windsor,Quartz.net,下载了Quartz.NET集成项目的最新源代码以重现我遇到的错误后,我担心源SampleApp会产生相同的问题 启动程序时,我正尝试如下配置容器: var container = new WindsorContainer(new XmlInterpreter()); container.Install(FromAssembly.This()); 在到达我的quartz安装程序之前,它会失败,但以下情况除外: “设施元素需要必需的非空属性类型” 我(希望如此)将其追溯到应用程序配置的这一部分
var container = new WindsorContainer(new XmlInterpreter());
container.Install(FromAssembly.This());
在到达我的quartz安装程序之前,它会失败,但以下情况除外:
“设施元素需要必需的非空属性类型”
我(希望如此)将其追溯到应用程序配置的这一部分(取自github源代码的SampleApp):
然而,如果我将配置更改为此,它将通过配置的此步骤,但无法注册Quartz设施的两个实例(它应该注册)
有什么建议可以让它运行起来吗
干杯。我会让事情变成这样:
<facility id="startable.facility" type="Castle.Facilities.Startrable.StartableFacility, Castle.Windsor"/>
<facility id="quartznet" type="Namespace.Castle.QuartzFacility, Namespace">
<globalJobListener>
<!-- the rest-->
</facility>
希望这会有所帮助。维基上的文档说,要注册Quartz.NET设施,请如下所示:
<castle>
<facilities>
<facility id="startable.facility" type="Castle.Facilities.Startable.StartableFacility, Castle.Windsor"/>
<facility id="quartznet" type="Castle.Facilities.QuartzIntegration.QuartzFacility, Castle.Facilities.QuartzIntegration">
<quartz>
<item key="quartz.scheduler.instanceName">XmlConfiguredInstance</item>
<item key="quartz.threadPool.type">Quartz.Simpl.SimpleThreadPool, Quartz</item>
<item key="quartz.threadPool.threadCount">5</item>
<item key="quartz.threadPool.threadPriority">Normal</item>
<item key="quartz.plugin.xml.type">Quartz.Plugin.Xml.JobInitializationPlugin, Quartz</item>
<item key="quartz.plugin.xml.overwriteExistingJobs">true</item>
<item key="quartz.plugin.xml.scanInterval">10</item>
</quartz>
</facility>
</facilities>
</castle>
XmlConfiguredInstance
Quartz.siml.SimpleThreadPool,Quartz
5.
正常的
Quartz.Plugin.Xml.JobInitializationPlugin,Quartz
真的
10
这是因为在Windsor 3.0中,现在设施配置需要type属性/
请尝试将代码作为文本而不是屏幕截图发布:)
<castle>
<facilities>
<facility id="startable.facility" type="Castle.Facilities.Startable.StartableFacility, Castle.Windsor"/>
<facility id="quartznet" type="Castle.Facilities.QuartzIntegration.QuartzFacility, Castle.Facilities.QuartzIntegration">
<quartz>
<item key="quartz.scheduler.instanceName">XmlConfiguredInstance</item>
<item key="quartz.threadPool.type">Quartz.Simpl.SimpleThreadPool, Quartz</item>
<item key="quartz.threadPool.threadCount">5</item>
<item key="quartz.threadPool.threadPriority">Normal</item>
<item key="quartz.plugin.xml.type">Quartz.Plugin.Xml.JobInitializationPlugin, Quartz</item>
<item key="quartz.plugin.xml.overwriteExistingJobs">true</item>
<item key="quartz.plugin.xml.scanInterval">10</item>
</quartz>
</facility>
</facilities>
</castle>