我正在编写我的第一个WCF服务,但我有点不确定服务的main函数应该在哪里实现。
我的服务的主要目的是按计划执行任务,并最终将其状态记录回远程服务器。WCF服务的思想是允许系统托盘应用程序和服务之间的通信。我的问题是,我应该在哪里实现任务调度和数据库日志记录?
应该: A) Windows服务只托管WCF服务,不做任何其他事情,让WCF服务来做所有的工作和通信。
B) Windows服务托管WCF服务并完成所有工作,只留下WCF服务进行通信,而不做其他任何事情。
在B的情况下,Windows服务如何向WCF服务获取数据以及从WCF服务获取数据?ServiceHost似乎不提供对WCF服务的方法
我在Windows服务中托管了WCF服务。WCF服务有一个与外部系统建立UdpClient连接的线程。我发现,当Windows Service停止时,线程并不总是正常关闭并调用UdpClient.Close()方法,这会使该连接保持打开(我认为是socket )。然后,当我再次运行它时,它会阻塞,UdpClient永远不会接收到广播的数据包。我在想,我的问题是,当Windows Service停止时,我从来没有调用过UdpClient.Close。所以我的问题是,我该如何恰当地释放这些资源?这是我的Windows服务的代码。
public class MyWindowsService : Se
我创建了一个WCF服务库。然后,我创建了一个Windows服务来托管这个WCF服务。现在,我想在同一个窗口服务中调用WCF服务库中定义的函数。
protected override void OnStart(string[] args)
{
if (serviceHost != null)
serviceHost.Close();
// Create a ServiceHost for the Registration type and
// provide the base address.