📄 servicetime.cs
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.ServiceProcess;
using System.Text;
using System.Timers;
using CommunicationClasses;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Tcp;
namespace WindowsServiceTimeAgent
{
public partial class ServiceTime : ServiceBase
{
private ClassDateTime _dateTime;
private System.Timers.Timer _timer;
public ServiceTime()
{
InitializeComponent();
// Create the server channel.
TcpChannel serverChannel = new TcpChannel(9090);
// Register the server channel.
ChannelServices.RegisterChannel(serverChannel);
// Expose an object for remote calls.
RemotingConfiguration.RegisterWellKnownServiceType(
typeof(ClassDateTime), "RemoteObject.rem",
WellKnownObjectMode.Singleton);
_dateTime = (ClassDateTime)Activator.GetObject(
typeof(ClassDateTime),
"tcp://localhost:9090/RemoteObject.rem");
}
protected override void OnStart(string[] args)
{
// start the timer
_timer = new System.Timers.Timer();
_timer.Interval = 1000;
_timer.AutoReset = true;
_timer.Elapsed += new ElapsedEventHandler(PublishDateTime);
_timer.Start();
}
private void PublishDateTime(object sender, ElapsedEventArgs e)
{
_dateTime.setDateTime(DateTime.Now);
}
protected override void OnStop()
{
// stop the timer
_timer.Stop();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -