Application.ApplicationParameters プロパティ

定義

アプリケーションの作成時またはアプリケーションの ApplicationParameterアップグレード時にユーザーによってオーバーライドされたアプリケーションの 一覧を取得します。 このパラメーター リストには、まだアプリケーション マニフェストの既定値を持つパラメーターは含まれていません。 マニフェストからまだ既定値が設定されているアプリケーションのパラメーターを調べるには、 GetApplication クエリによって返される ApplicationParameters と 、GetApplicationType クエリによって返される DefaultParameters を使用できます。マニフェストの既定値が引き続き設定されているパラメーターは、ApplicationParameters リスト内のすべてのパラメーターを DefaultParameters リストから除外することで確認できます。

public System.Fabric.Description.ApplicationParameterList ApplicationParameters { get; }
member this.ApplicationParameters : System.Fabric.Description.ApplicationParameterList
Public ReadOnly Property ApplicationParameters As ApplicationParameterList

プロパティ値

アプリケーションのオーバーライドされたパラメーター。

次の例は、オーバーライドされたパラメーターと、まだアプリケーション マニフェストから既定値を持つパラメーターを取得する方法を示しています。

// Custom comparer for ApplicationParameter class to compare if two application parameters have the same name.
class ApplicationParameterNameComparer : IEqualityComparer<ApplicationParameter>
{
    // Here we consider two ApplicationParameters are equal if they have the same name.
    // In general though, two application parameters should be considered equal only if their names and their values are equal.
    public bool Equals(ApplicationParameter x, ApplicationParameter y)
    {
        return x.Name.Equals(y.Name);
    }

    public int GetHashCode(ApplicationParameter applicationParameter)
    {
        return applicationParameter.Name.GetHashCode();
    }
}

using (var fabricClient = new FabricClient(clientConnectionString))
{
    ApplicationList applicationList = await fabricClient.QueryManager.GetApplicationListAsync(applicationUri);

    Application application = applicationList.First();

    // If no parameters have been overridden during application creation or through application upgrade, then overridenParameters would be empty.
    ApplicationParameterList overridenParameters = application.ApplicationParameters;

    ApplicationTypeList applicationTypeList = await fabricClient.QueryManager.GetApplicationTypeListAsync(application.ApplicationTypeName);

    ApplicationType applicationType = applicationTypeList.First();

    ApplicationParameterList parametersFromApplicationManifest = applicationType.DefaultParameters;

    // If no parameters have been overridden during application creation or through application upgrade, then parametersStillHavingDefaultValues would be equal to parametersFromApplicationManifest.
    IEnumerable<ApplicationParameter> parametersStillHavingDefaultValues = parametersFromApplicationManifest.Except(overridenParameters, new ApplicationParameterNameComparer());
}

適用対象