运行测试时,Azure Service Fabric在本地群集中终止

时间:2018-10-16 06:24:49

标签: azure-service-fabric

因此,我们正在使用Azure Service Fabric,并在尝试对我的本地开发群集运行API测试时出现奇怪的行为。

每次启动测试时,应用都会终止,有时会再次重新启动,但大多数情况下,它会保持终止状态(甚至从群集中删除)。

我猜想它在某种程度上与我运行API测试时有关,它将运行并构建服务结构正在使用的内容,但是由于结果因某些因素(也许是太阳)而有所不同,因此感觉就像是服务架构缺少某些东西或遇到错误。

有人知道吗?将我视为菜鸟,并假设我自己做错了什么(我至少是这样做的)。

更新

对于我们如何运行测试存在疑问:

  1. 启动2个Visual Studio实例
  2. 在两者中打开相同的.sln
  3. 启动Service Fabric项目。
  4. 等待,直到群集报告OK。
  5. 使用Resharper测试运行程序通过单元测试(服务总线测试和REST测试)运行api测试

现在,我们将获得诊断程序附带的消息。

诊断:

事件#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"   
 } 
}

1 个答案:

答案 0 :(得分:1)

我认为您会遇到.sfproj设置的Application Debug Mode的副作用。

默认情况下,应用程序调试模式设置为Refresh Application(如果您使用的是5节点群集,则会自动更改为Remove Application)或Remove Application调试模式。这指示Visual Studio为每个调试会话重新创建应用程序,并在会话结束时将其删除。

将其更改为Keep Application可以防止Visual Studio在调试会话期间重新创建应用程序。