因此,我们正在使用Azure Service Fabric,并在尝试对我的本地开发群集运行API测试时出现奇怪的行为。
每次启动测试时,应用都会终止,有时会再次重新启动,但大多数情况下,它会保持终止状态(甚至从群集中删除)。
我猜想它在某种程度上与我运行API测试时有关,它将运行并构建服务结构正在使用的内容,但是由于结果因某些因素(也许是太阳)而有所不同,因此感觉就像是服务架构缺少某些东西或遇到错误。
有人知道吗?将我视为菜鸟,并假设我自己做错了什么(我至少是这样做的)。
更新
对于我们如何运行测试存在疑问:
.sln
现在,我们将获得诊断程序附带的消息。
诊断:
事件#1
{
"Timestamp": "2018-10-16T08:14:03.0590414+02:00",
"ProviderName": "Microsoft-ServiceFabric",
"Id": 23083,
"Message": ApplicationHostTerminated: ApplicationId=fabric:/<MyService>, ServiceName=fabric:/<MyService>, ServicePackageName=<MyPackage>, ServicePackageActivationId=8f36ac97-9271-4a49-94ce-dd296aebffa5, IsExclusive=True, CodePackageName=Code, EntryPointType=Exe, ExeName=MyExe, ProcessId=24568, HostId=d2a820b5-5b4d-42af-ae87-350028a3fa72, ExitCode=3221225786, UnexpectedTermination=False, StartTime=10/16/2018 08:12:14. ",
"ProcessId": 22660,
"Level": "Informational",
"Keywords": "0x4000000000000001",
"EventName": "Hosting",
"ActivityID": null,
"RelatedActivityID": null,
"Payload": {
"eventInstanceId": "\"07f15452-2f75-49e3-ad5d-d16ea49bdc8f\"",
"applicationName": "MyAppName",
"ServiceName": "fabric:/MyServiceName",
"ServicePackageName": "MyPackageName",
"ServicePackageActivationId": "8f36ac97-9271-4a49-94ce-dd296aebffa5",
"IsExclusive": true,
"CodePackageName": "Code",
"EntryPointType": 1,
"ExeName": "MyExe",
"ProcessId": 24568,
"HostId": "d2a820b5-5b4d-42af-ae87-350028a3fa72",
"ExitCode": 3221225786,
"UnexpectedTermination": false,
"StartTime": "\"\/Date(1539670334917)\/\""
}
}
事件#2
{
"Timestamp": "2018-10-16T08:14:02.3557708+02:00",
"ProviderName": "Microsoft-ServiceFabric",
"Id": 29625,
"Message": "Application deleted: Application = fabric:/MyApp, Application Type = MyServiceType ",
"ProcessId": 22660,
"Level": "Informational",
"Keywords": "0x4000000000000001",
"EventName": "CM",
"ActivityID": null,
"RelatedActivityID": null,
"Payload": {
"eventInstanceId": "\"ca608cec-8d55-4606-a331-8ebfcfff8fa6\"",
"applicationName": "fabric:/MyAppName",
"applicationTypeName": "MyAppTypeName",
"applicationTypeVersion": "1.0.0"
}
}
答案 0 :(得分:1)
我认为您会遇到.sfproj
设置的Application Debug Mode的副作用。
默认情况下,应用程序调试模式设置为Refresh Application
(如果您使用的是5节点群集,则会自动更改为Remove Application
)或Remove Application
调试模式。这指示Visual Studio为每个调试会话重新创建应用程序,并在会话结束时将其删除。
将其更改为Keep Application
可以防止Visual Studio在调试会话期间重新创建应用程序。