Did*_*xis 3 .net c# wcf azure azure-worker-roles
我正在Azure Woker角色中托管WCF服务,就像这样.
我希望能够定期"回收"WCF服务主机.问题是,我假设服务正在运行它自己的应用程序域,而且我也没有办法查询它的任何事件,我也可以共享辅助角色和WCF服务之间的通用数据.
作为参考,这是托管的最小代码:
public override void Run()
{
using(var host = new ServiceHost(typeof(MyService))
{
// Configure host here...
host.Open
while(true)
{
Sleep(1000);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想每24小时以某种方式"重新启动"主机,但我不知道如何实现这一目标.
WCF服务正在运行in-proc到您的工作者角色权限(即一切都在WaWorkerHost.exe中运行)?在这种情况下,您可以调用RoleEnvironment.RequestRecycle,也可以让Run()方法退出.无论哪种方式都会导致WaWorkerHost.exe正常关闭,然后Azure来宾代理将自动重启所有内容.