1
我知道EWL支持服务,但我不确定他们有什么不同,或者我必须采取哪些步骤来创建服务。如何在EWL中创建和部署Windows服务?
另外,是否可以像传统服务一样手动部署EWL服务,还是必须使用部署实用程序?
我知道EWL支持服务,但我不确定他们有什么不同,或者我必须采取哪些步骤来创建服务。如何在EWL中创建和部署Windows服务?
另外,是否可以像传统服务一样手动部署EWL服务,还是必须使用部署实用程序?
EWL服务给你一个简单的编程模型,只有三个地方你可以把你的逻辑:Init
,CleanUp
和Tick
方法。除了决定如何在这些方法之间划分逻辑之外,不需要考虑。除了这三种方法之外,也没有灵活性,所以如果您的问题不能很好地适应此模型,请不要使用EWL服务。
要将现有的解决方案EWL内创建一个EWL服务:
在库/配置/ General.xml,添加这样的部分<WebApplications>
下方:
<WindowsServices>
<Service>
<Name>YOUR-SERVICE-PROJECT-NAME</Name>
<NamespaceAndAssemblyName>YOUR-SERVICE-PROJECT-NAMESPACE</NamespaceAndAssemblyName>
</Service>
</WindowsServices>
更新相关逻辑。
添加的Program.cs文件到项目中,包含这个类:
internal partial class Program {
static partial void initGlobalLogic(ref SystemLogic globalLogic) {
globalLogic = new GlobalLogic();
}
}
添加骆驼套管-SERVICE-PROJECT-NAME.cs包含类似于一个类文件到项目,:
internal partial class CAMEL-CASED-SERVICE-PROJECT-NAME {
string WindowsServiceBase.Description { get { return "..."; } }
void WindowsServiceBase.Init() {}
void WindowsServiceBase.CleanUp() {}
void WindowsServiceBase.Tick() {}
}
删除您的项目中似乎没有必要的任何样板文件。
我相信你可以手动安装EWL服务。只要做一个构建,并在bin目录下的文件中做任何你需要的操作。
如果我目前没有Library/Configuration/General.xml,这是我使用EWL的解决方案中的第一件事,我可以只使用WindowsServices部分吗?我是否需要设置与服务无关的其他任何EWL内容以使Update Dependent Logic正常工作? – 2012-07-18 14:02:27
我不认为你需要一个web项目,但你可能确实需要一个带有配置文件夹的库项目。在内部配置中,您可能需要'Development.xml','General.xml'和'Installations/Development/Standard.xml'。 – 2012-07-18 17:11:20
@GregSmalter:另外,这些XML文件的模式将在下一个EWL版本发布后联机。 – 2012-07-18 17:21:14