Windows サービスを使用して、Udp ソケットを使用してデバイスと通信しています。サービスのコンストラクターには、次のコードがあります
public Service1()
{
try
{
EventLog eventLog1 = new System.Diagnostics.EventLog();
eventLog1.Source = "Alert Control Service";
eventLog1.Log = "Application";
//InitializeComponent();
//TextBox settings
//Wire-up the EventHandler
//Create the UdpClient
server = new UdpClient(port);
serverForAdam = new UdpClient(6768);
//Define a Receive point
receivePoint = new IPEndPoint(new IPAddress(ip), port);
IPAddress adam1 = IPAddress.Parse("172.16.2.252");
adamReceivePoint = new IPEndPoint(adam1, 1025);
string channel = "";
//read alarm configuration from database
RegistryKey baseKey = null;
if (Environment.Is64BitOperatingSystem)
{
baseKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);
}
else
{
baseKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32);
}
RegistryKey myKey = baseKey.OpenSubKey("SOFTWARE\\AlarmConfig", true);
if (myKey == null)
{
eventLog1.WriteEntry("No AlarmConfig Registry key");
}
string regString = (string)myKey.GetValue("database");
string decryptString = Crypto.DecryptStringAES(regString, "1234");
SQLConn.ConnectionString = decryptString;
SQLConn.Open();
}
catch (Exception ex)
{
TextWriter tw = new StreamWriter("c:\\error.txt");
// write a line of text to the file
tw.WriteLine(ex.Message);
// close the stream
tw.Close();
}
}
これは次の行を書き込みます:エラー.txtのwsacancelblockingcallへの呼び出しによってブロッキング操作が中断されました
それで、その理由は何ですか。サービスを通常の Windows アプリケーションとして実行しようとしました。大丈夫です、メッセージは存在しません。助けてください。