标签: azure-service-fabric

差别包装

升级应用程序时,该Test-ServiceFabricApplicationPackage命令会为版本号未更改的每个代码包抛出错误(它表示内容已更改,即使代码尚未更改).我知道有一个功能允许创建部分包,但我无法使用它.我的问题是:

  1. 如何检查代码包的内容是否有变化?二元比较?
  2. 如何构建部分包(在VS构建包后删除代码目录?编辑ServiceManifest.xml文件?)
  3. 如何运行Test-ServiceFabricApplicationPackage(图像存储URL是什么?如何将该参数传递给标准部署脚本?)

我很欣赏一个彻底的例子.

azure-service-fabric

11
推荐指数
2
解决办法
4333
查看次数

Service Fabric包含其他文件

我有一个包含以下内容的Visual Studios解决方案:

  • Service Fabric项目
  • 无国籍服务项目

无状态服务项目使用基于配置的依赖注入,这意味着依赖项与项目本身松散耦合,而不是实际的VS"项目/编译依赖项".

我想继续使用Visual Studios,但是当我部署这个项目时,它不知道程序集依赖性(因为它们只在DI配置中定义),因此它不会打包必要的文件并抛出异常尝试执行依赖注入.

ApplicationManifest.xml文件中是否有任何方法或Visual Studios提供的其他许多XML文件之一,我可以指定其他文件(即我的依赖程序集)作为部署的一部分发布到Service Fabric?

理想情况下,我想将此文件自动生成为自动构建脚本的一部分.

c# dependency-injection azure azure-service-fabric

11
推荐指数
2
解决办法
4588
查看次数

Azure Service Fabric Explorer始终返回403

我刚刚将一个带有LoadBalancer的安全Service Fabric Cluster(EncryptAndSign)部署到Azure Subscription.部署需要一些时间,但它按预期工作.我也可以通过PowerShell连接到集群:

$connectionEndpoint = ("{0}.{1}.cloudapp.azure.com:19000" -f 
   "mycluster", "somewhere")

Connect-serviceFabricCluster -ConnectionEndpoint $connectionEndpoint `
  -KeepAliveIntervalInSec 10 `
  -X509Credential `
  -ServerCertThumbprint "..." `
  -FindType FindByThumbprint `
  -FindValue $clusterCertificate.Thumbprint  `
  -StoreLocation CurrentUser -StoreName My
Run Code Online (Sandbox Code Playgroud)

我也可以使用VisualStudio通过端口19000将应用程序部署到群集.在Azure门户中,一切看起来都很好,没有警告,没有错误.

不幸的是,我无法通过端口19080连接到资源管理器.当我尝试通过LoadBalancer连接时,我收到一个连接超时.因此,建立了与群集中某个节点的RDP连接,并尝试通过本地访问资源管理器

localhost:19080/Explorer
Run Code Online (Sandbox Code Playgroud)

但是在这里我收到一个Http-Error 403(Forbidden),它可能是通过Load-Balancer连接超时的原因(因为探测器总是接收403).收录Azure文档:

"如果您尝试连接到安全群集上的Service Fabric Explorer,您的浏览器将要求您提供证书以获取访问权限."

好吧,我没有被提示提出任何证书.我错过了什么?配置有什么特别之处吗?提前致谢.

azure azure-service-fabric

11
推荐指数
1
解决办法
6691
查看次数

从PowerShell部署Service Fabric.错误 - > Get-ServiceFabricClusterManifest:群集连接实例为空

我正在尝试使用PowerShell将Service Fabric应用程序发布到Azure.我想连接到集群,然后调用脚本"Deploy-FabricApplication.ps1"(在visual studio中创建新项目时生成的脚本)

为此,我创建了新的脚本文件,负责与集群连接,然后从同一个脚本文件中调用"Deploy-FabricApplication.ps1".

启动我的脚本后,我收到以下错误:

Get-ServiceFabricClusterManifest : Cluster connection instance is null
At C:\Program Files\Microsoft SDKs\Service Fabric\Tools\PSModule\ServiceFabricSDK\Publish-UpgradedServiceFabricApplication.ps1:116 char:28
+     $clusterManifestText = Get-ServiceFabricClusterManifest
+                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : ResourceUnavailable: (:) [Get-ServiceFabricClusterManifest], NullReferenceException
+ FullyQualifiedErrorId : GetClusterConnectionErrorId,Microsoft.ServiceFabric.Powershell.GetClusterManifest
Run Code Online (Sandbox Code Playgroud)

在连接脚本和Deploy-FabricApplication.ps1中,我调用"Test-ServiceFabricClusterConnection",在两个脚本中它也在两个脚本中返回True我称之为"Get-ServiceFabricClusterManifest",在这两种情况下它都返回给我清单但是当我添加时"Test-ServiceFabricClusterConnection"到"Publish-UpgradedServiceFabricApplication.ps1"然后它返回了与前面提到的相同的错误,但是对于"Test-ServiceFabricClusterConnection"调用.

连接脚本的代码:

Param
(
    [String]
    $PublishProfileFile,

    [String]
    $ApplicationPackagePath,

    [Switch]
    $DeployOnly,

    [Boolean]
    $UnregisterUnusedApplicationVersionsAfterUpgrade,

    [String]
    [ValidateSet('None', 'ForceUpgrade', 'VetoUpgrade')]
    $OverrideUpgradeBehavior = 'None',

    [String]
    [ValidateSet('Never','Always','SameAppTypeAndVersion')]
    $OverwriteBehavior = 'Never',

    [Switch]
    $SkipPackageValidation,

    [String]
    $ConnectionEndpoint,

    [String]
    $ServerCertThumbprint,

    [String]
    $FindType,

    [String]
    $FindValue,

    [String]
    $StoreLocation,

    [String]
    $StoreName
)

$connectArgs = @{ ConnectionEndpoint = $ConnectionEndpoint; …
Run Code Online (Sandbox Code Playgroud)

powershell azure azure-service-fabric

11
推荐指数
1
解决办法
5823
查看次数

在开发环境中运行Service Fabric群集时连接到本地SQL Server实例

在传统的控制台应用程序中打开到本地数据库的SQL连接时,我没有任何问题,但是当我尝试在Service Fabric中运行的无状态服务中执行相同的操作时,我收到登录错误.

我收到的错误是 "Login failed for user 'WORKGROUP\\NICK$'."

这是我用来连接的代码

using (var con = new SqlConnection("Server=.;Trusted_Connection=True;Database=AddressBook"))
{
            try
            {
                con.Open();
            }
            catch (Exception e)
            {

            }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试将该用户添加到sql server时,它告诉我无法找到该用户.

azure-service-fabric

11
推荐指数
1
解决办法
3849
查看次数

服务结构项目在单独的git repos中

遵循正常的微服务框架,我们希望将每个微服务放在它自己的git repo中,然后为Service Fabric项目提供一个存储库.当我们更新其中一个微服务时,虽然Service Fabric项目将重新部署该服务.

有没有像这样拆分Service Fabric项目的例子?我在他们的所有例子中都注意到,一切都在一个解决方案/存储库中.

c# azure microservices azure-service-fabric

11
推荐指数
1
解决办法
710
查看次数

Microsoft.Extensions.Logging如何为完整的.net框架工作?

文章(监视和诊断Azure Service Fabric应用程序)表示以下内容(请注意粗体文本):

ASP.NET核心日志记录

选择如何检测代码可能很困难,如果你选择不好并且必须重新检测,那么你正在重新审视并可能破坏你的代码库的稳定性.为降低风险,开发人员可以选择一个检测库,例如ASP.NET Core提供的Microsoft.Extensions.Logging.这提供了一个ILogger接口,允许使用您选择的提供程序,同时最大限度地减少对现有代码的影响.另一个很好的方面是代码不仅可以在Windows和Linux上的.NET Core中使用,而且可以在完整的.NET框架中使用,从而能够跨.NET和.NET Core标准化您的仪器代码.

这应该如何工作,因为当我尝试添加扩展库(到我的服务结构集群应用程序项目,编译为.net框架4.5.2)时,它是否试图关闭所有与asp.net核心相关的二进制文件?

.net asp.net azure azure-diagnostics azure-service-fabric

11
推荐指数
2
解决办法
1万
查看次数

通过RDP远程进入SF节点

如何远程连接SF集群中的节点?因为这些只是虚拟机,所以我觉得我应该能够进入它们,即使这是我通常想要避免的.

我该如何进行远程操作?

azure-service-fabric

10
推荐指数
1
解决办法
6225
查看次数

Service Fabric Unhandled Exceptions和最佳实践

只是好奇是否有人对Service Fabric中未处理的异常有经验以及围绕它们的最佳实践.主要是对服务的故障状态感到好奇.如果服务处于故障状态,服务是否会被回收?或者是否应该对未处理的异常进行全局异常处理,如果该概念甚至存在于SF中.我在搜索这个主题上找不到太多东西.

c# exception-handling azure-service-fabric

10
推荐指数
1
解决办法
1486
查看次数

一夜之间关闭ServiceFabric集群

我们正在开发一个处理excel文件并吐出输出的应用程序.可用性不是一个大要求.

我们可以在晚上关闭VM设置并在早上再打开它们吗?这种设置是否适用于服务结构?如果是这样,有没有办法安排它?

azure azure-service-fabric azure-vm-scale-set

10
推荐指数
1
解决办法
1375
查看次数