如果没有正确关闭,PC会在重启后保持WCF服务打开吗?

时间:2017-03-24 15:10:32

标签: c# wpf wcf tcp

我们看到WPF应用程序出现问题,该应用程序打开侦听接受端口数据的WCF服务。我们有一个快捷方式,可以在启动时自动启动这个WPF并且工作正常,但我们已经开始通过RDP重新启动PC,现在当计算机重新启动时,我们在WPF中遇到TCP错误"请求的地址不是在其背景下有效"一边听正确的IP。当我们关闭应用程序并将其打开时,它可以正常工作。是否有可能当我们重新启动而不关闭此应用程序时,它不会退出此连接,因此在启动时尝试打开此应用程序并启动新服务时,是否存在冲突?我是WCF服务的新手,并且对此类内部工作知之甚少,但在我看来,当我们收到此错误然后关闭应用程序时,我们正在关闭此服务所以当我们重新开始时没有冲突。

编辑:答案是应用程序启动时网络尚未启动。我们在批处理文件中添加了10秒的延迟,以便在运行应用程序之前启动网络: Sub importTransData() Dim directory As String, fileName As String, sheet As Worksheet, total As Integer Application.ScreenUpdating = False Application.DisplayAlerts = False Dim targetWorkbook As Workbook Set targetWorkbook = ThisWorkbook 'Choose directory directory = "C:\Users\midijk\Desktop\Testsource\" fileName = Dir(directory & "*.xl??") Do While fileName <> "" Workbooks.Open (directory & fileName) For Each sheet In Workbooks(fileName).Worksheets Dim sourceWorkbook As Workbook Dim sourceSheet As Worksheet Set sourceSheet = ActiveSheet Set sourceWorkbook = ActiveWorkbook 'Select A2:F2 Range("A2:F2").Select 'Select everything below Range(Selection, Selection.End(xlDown)).Select 'Copy Selection.Copy 'Select targetWorkbook targetWorkbook.Activate 'select targetsheet Sheets("Transactional Data").Select 'select A1 & go down Range("A1").End(xlDown).Offset(1).Select 'Paste as values Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'go back to source workbook sourceWorkbook.Activate 'go back to source sheet sourceSheet.Select Next sheet Workbooks(fileName).Close fileName = Dir() Loop Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub

1 个答案:

答案 0 :(得分:1)

对于每个新的Windows版本,用户可以提前与其会话进行交互,但并非所有内容都已完全启动。这让你觉得新系统比旧系统快得多。

会话启动时运行的应用程序必须在系统重启后立即启动会话时处理。

因此,在启动服务之前检查系统状态,或者只是重试启动服务直到它启动。