我们在VS2015中获得了Azure Service Fabric解决方案,其中包括许多有状态的演员和一个网站 .
当网站与actor交互时,需要先启动整个本地集群,然后才能运行(和调试)网站 . 我需要大约4分钟才能让一切运行!!我的大多数更改都在网站上执行,我很少改变演员背后的代码 .
问题:有没有办法在不重建整个本地serviceFabric集群的情况下运行(和调试)网站?
如果我将web项目设置为startup-project并点击f5,则运行时会出现“ReflectionTypeLoadException” . 如果我禁用与actor交互的代码,它运行正常 .
4 回答
您是否考虑过升级而不是完全部署?请记住,F5将删除整个应用程序并重新安装,但如果您进行升级,它将只重新部署已更改的服务(网站正在运行) .
https://azure.microsoft.com/en-gb/documentation/articles/service-fabric-visualstudio-configure-upgrade/
我很欣赏这并不像按F5那样顺利,但是你可以自动化这个过程,让它变得不那么糟糕 .
遗憾的是,ASP.NET核心服务(又称ASP.NET 5)的部署时间目前很长,因为涉及大量的NuGet包,并且需要将它们重新打包并重新部署到群集中以进行每次更改 . 我们正在与ASP.NET团队合作,以加快此调试周期 .
在此期间,如果您希望在Web项目上进行大量迭代,则可以在Service Fabric应用程序的上下文之外完成这项工作 - 也就是说,创建一个独立的ASP.NET项目 - 然后将其拉入事情稳定后,Service Fabric应用程序 .
我同意缓慢的调试周期非常烦人,我很期待更好的事情 .
我通过将一个Service Fabric应用程序中的后端服务与另一个Service Fabric应用程序中的Web App分离,减少了Web App服务中的等待时间 . 这意味着当我仅在Web App上工作时,我需要做的就是部署包含一个Web App服务的Application . 它确实有点帮助,但仍然远非理想 .
希望能帮助到你
Service Fabric SDK的最新更新支持在您停止调试后保持集群和服务结构应用程序处于活动状态(请参阅SDK下载中的发行说明.docx)
还有一个单节点本地群集配置,可以在开发过程中加快注册和部署应用程序的速度 .
https://blogs.msdn.microsoft.com/azureservicefabric/2016/09/13/release-of-service-fabric-sdk-2-2-207-and-runtime-5-2-207/