我正在编写我的第一个WCF服务,但我有点不确定服务的main函数应该在哪里实现。
我的服务的主要目的是按计划执行任务,并最终将其状态记录回远程服务器。WCF服务的思想是允许系统托盘应用程序和服务之间的通信。我的问题是,我应该在哪里实现任务调度和数据库日志记录?
应该: A) Windows服务只托管WCF服务,不做任何其他事情,让WCF服务来做所有的工作和通信。
B) Windows服务托管WCF服务并完成所有工作,只留下WCF服务进行通信,而不做其他任何事情。
在B的情况下,Windows服务如何向WCF服务获取数据以及从WCF服务获取数据?ServiceHost似乎不提供对WCF服务的方法
我们的服务器正在生产环境中运行,但是在运行几天之后,在WCF调用时会出现内存不足异常。
Line 36007: GlobalUnhandledException: System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
Line 36063: at System.Net.Sockets.SocketAsyncEventArgs.FinishOperationSuccess(SocketError socketError, Int32 bytesT
我正在为WCF实现的服务器编写一些测试,因为消息很复杂,并且向我希望在测试中包括WCF的客户端进行回调。
(您可能希望将这些测试称为“fit”或“集成测试”,而不是单元测试,WCF两侧的代码将有更详细的不使用WCF的单元测试。)
由于我的服务器保持状态,并且希望检查所有通道是否没有错误地关闭,所以我有如下代码:
[SetUp]
public void SetUp()
{
//TODO find a fee port rathern then hard coding
endPointAddress = "net.tcp://loca