我们看到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
答案 0 :(得分:1)
对于每个新的Windows版本,用户可以提前与其会话进行交互,但并非所有内容都已完全启动。这让你觉得新系统比旧系统快得多。
会话启动时运行的应用程序必须在系统重启后立即启动会话时处理。
因此,在启动服务之前检查系统状态,或者只是重试启动服务直到它启动。