他の機能も実行するイベントでサービスを再起動するコードがあります。
私はこのようなイベント内のすべてのイベントで試してみることができます:
private void btnApply_Click(object sender, EventArgs e)
{
try
{
applyChangesAndCheckRestartService();
}
catch (Exception ex)
{
MessageBox.Show("Error loading page.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void applyChangesAndCheckRestartService()
{
string svrPortNo = CommonCodeClass.getTagValue(CommonCodeClass.xml_SvrPortNoTag, CommonCodeClass.configLocation + CommonCodeClass.configXML);
if (!ApplyChangesForSettings())
{
return;
}
if (svrPortNo != tbSvrPortNo.Text)
{
CommonCodeClass.CheckToRestartService();
}
}
これで、ApplyChangesForSettings()中にエラーが発生した場合、「ページの読み込み中にエラーが発生しました」というエラーポップアップが表示されます。
CheckToRestartService()にエラーがある場合、trycatchが原因で同じエラーが発生します。
これを処理するためのより良い方法はありますか?
ApplyChangesForSettings()のエラー読み込みページを気にしないように、CheckToRestartService()の場合は、「サービスを再起動できません」などのエラーが表示されます。
任意の提案をいただければ幸いです。ありがとう
internal static void CheckToRestartService()
{
DialogResult result = MessageBox.Show(CommonCodeClass.resartServiceMessage, "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (result == DialogResult.Yes)
{
CommonCodeClass.RestartService(CommonCodeClass.serviceName, 60000);
}
}