Aracılığıyla paylaş


Öğretici: Denemeleri değişken özellik bayraklarıyla çalıştırma (önizleme)

Uygulamanızda denemeler çalıştırmak, uygulamanızın performansını ve kullanıcı deneyimini geliştirmek için bilinçli kararlar vermenize yardımcı olabilir. Bu kılavuzda, bir Uygulama Yapılandırması deposunda denemeleri ayarlamayı ve yürütmeyi öğreneceksiniz. Uygulama Yapılandırması, Application Insights (önizleme) ve Bölünmüş Deneme Çalışma Alanı (önizleme) özelliklerini kullanarak veri toplamayı ve ölçmeyi öğrenirsiniz.

Bunu yaparak uygulamanızı geliştirmek için veri temelli kararlar alabilirsiniz.

Not

Deneme yolculuğunuza başlamanın hızlı bir yolu, Günün Alıntısı AZD örneğini çalıştırmaktır. Bu depo, denemeleri çalıştırmak için .NET uygulamalarınızla Azure Uygulaması Yapılandırması'nın nasıl tümleştirilip tümleştirilmesine ilişkin, Azure kaynak sağlama ve ilk deneme ile eksiksiz bir örnek sağlar.

Bu öğreticide şunları yaptınız:

  • Değişken özellik bayrağı oluşturma
  • Mağazanıza Application Insights kaynağı ekleme
  • Mağazanıza Bölünmüş Deneme Çalışma Alanı ekleme
  • Deneme çalıştırmak için uygulama ayarlama
  • Telemetriyi etkinleştirme ve değişken özellik bayrağınızda deneme oluşturma
  • Denemeniz için ölçümler oluşturma
  • Deneme sonuçlarını alma

Önkoşullar

Değişken özellik bayrağı oluşturma (önizleme)

Özellik Bayrağı hızlı başlangıcında açıklandığı gibi, Kapalı ve Açık olmak üzere iki çeşitle Selamlama adlı bir değişken özellik bayrağı oluşturun.

Application Insights (önizleme) kaynağını yapılandırma deponuza bağlama

Deneme çalıştırmak için öncelikle çalışma alanı tabanlı bir Application Insights kaynağını Uygulama Yapılandırması deponuza bağlamanız gerekir. Bu kaynağın Uygulama Yapılandırması deponuza bağlanması, deneme için telemetri kaynağıyla yapılandırma depoyu ayarlar.

  1. Uygulama Yapılandırması deponuzda Telemetri > Application Insights (önizleme) öğesini seçin.

    Bir mağazaya Application Insights ekleyen Azure portalının ekran görüntüsü.

  2. Değişken özellik bayraklarınız ve uygulamanız için telemetri sağlayıcısı olarak kullanmak istediğiniz Application Insights kaynağını seçin ve kaydet'i seçin. Application Insights kaynağınız yoksa Yeni oluştur'u seçerek bir kaynak oluşturun. Devam etme hakkında daha fazla bilgi için Worskpace tabanlı kaynak oluşturma bölümüne gidin. Ardından Application Insights'a (önizleme) dönün, kullanılabilir Application Insights kaynaklarının listesini yeniden yükleyin ve yeni Application Insights kaynağınızı seçin.

  3. Bildirim, Application Insights kaynağının Uygulama Yapılandırması deposu için başarıyla güncelleştirildiğini gösterir.

Bölünmüş Deneme Çalışma Alanını (önizleme) mağazanıza bağlama

denemeleri Azure Uygulaması Yapılandırmasında çalıştırmak için Split Experimentation Workspace'i kullanacaksınız. Bölünmüş Deneme Çalışma Alanını mağazanıza bağlamak için aşağıdaki adımları izleyin.

  1. Uygulama Yapılandırması deponuzda, soldaki menüden>DenemeYi Bölme Deneme Çalışma Alanı (önizleme) öğesini seçin.

    Uygulama Yapılandırması deposuna Bölünmüş Deneme Çalışma Alanı ekleyen Azure portalının ekran görüntüsü.

  2. Bölünmüş Deneme Çalışma Alanı'nın ardından Kaydet'i seçin. Bölünmüş Deneme Çalışma Alanınız yoksa, bir tane oluşturmak için Bölünmüş Deneme Çalışma Alanı hızlı başlangıcını izleyin.

    Not

    Denemeyi Bölme Çalışma Alanında seçilen veri kaynağı, önceki adımda seçilen Application Insights kaynağıyla aynı olmalıdır.

  3. Bildirim, işlemin başarılı olduğunu gösterir.

Deneme çalıştırmak için uygulama ayarlama

Application Insights (önizleme) kaynağını Uygulama Yapılandırması deposuna bağladığınıza göre, denemenizi (önizleme) çalıştırmak için bir uygulama ayarlayın.

Bu örnekte, Günün Alıntısı adlı bir ASP.NET web uygulaması oluşturacaksınız. Uygulama yüklendiğinde bir tırnak işareti görüntüler. Kullanıcılar bu düğmeyi beğenmek için kalp düğmesine basabilir. Kullanıcı katılımını geliştirmek için kişiselleştirilmiş bir karşılama iletisinin teklifi beğenen kullanıcı sayısını artırıp artırmayacağını keşfetmek istiyorsunuz. Azure Uygulaması Yapılandırmasında Karşılama özelliği bayrağını Kapalı ve Açık olarak iki değişkenle oluşturursunuz. Kapalı değişkenini alan kullanıcılar standart bir başlık görür. Açık değişkenini alan kullanıcılar bir selamlama iletisi alır. Application Insights'ta kullanıcı etkileşimlerinizin telemetrisini toplar ve kaydedersiniz. Bölünmüş Deneme Çalışma Alanı ile denemenizin etkinliğini analiz edebilirsiniz.

Uygulama oluşturma ve kullanıcı gizli dizileri ekleme

  1. Bir komut istemi açın ve aşağıdaki kodu çalıştırın. Bu, tek tek hesap kimlik doğrulamasını kullanarak ASP.NET Core'da yeni bir Razor Pages uygulaması oluşturur ve bunu QuoteOfTheDay adlı bir çıkış klasörüne yerleştirir.

    dotnet new razor --auth Individual -o QuoteOfTheDay
    
  2. Komut isteminde QuoteOfTheDay klasörüne gidin ve aşağıdaki komutu çalıştırarak uygulama için bir kullanıcı gizli dizisi oluşturun. Bu gizli dizi, Uygulama Yapılandırması için bağlantı dizesi tutar.

    dotnet user-secrets set ConnectionStrings:AppConfiguration "<App Configuration Connection string>"
    
  3. Application Insights için bağlantı dizesi tutan başka bir kullanıcı gizli dizisi oluşturun.

    dotnet user-secrets set ConnectionStrings:AppInsights "<Application Insights Connection string>"
    

Uygulama kodunu güncelleştirme

  1. QuoteOfTheDay.csproj'da Özellik Yönetimi'nin en son önizleme sürümlerini ekleyin ve SDK'ları gerekli paketler olarak Uygulama Yapılandırması.

    <PackageReference Include="Microsoft.Azure.AppConfiguration.AspNetCore" Version="8.0.0-preview.2" />
    <PackageReference Include="Microsoft.FeatureManagement.Telemetry.ApplicationInsights" Version="4.0.0-preview3" />
    <PackageReference Include="Microsoft.FeatureManagement.Telemetry.ApplicationInsights.AspNetCore" Version="4.0.0-preview3" />
    <PackageReference Include="Microsoft.FeatureManagement.AspNetCore" Version="4.0.0-preview3" />
    
  2. Program.cs satırının var builder = WebApplication.CreateBuilder(args);altına, uygulama başlatıldığında Azure'dan yapılandırmayı çeken Uygulama Yapılandırması sağlayıcısını ekleyin. Varsayılan olarak UseFeatureFlags yöntemi etiketsiz tüm özellik bayraklarını içerir ve önbellek süre sonu süresini 30 saniye olarak ayarlar.

    builder.Configuration
        .AddAzureAppConfiguration(o =>
        {
            o.Connect(builder.Configuration.GetConnectionString("AppConfiguration"));
    
            o.UseFeatureFlags();
        });
    
  3. Program.cs aşağıdaki using deyimlerini ekleyin:

    using Microsoft.ApplicationInsights.AspNetCore.Extensions;
    using Microsoft.ApplicationInsights.Extensibility;
    using Microsoft.FeatureManagement.Telemetry.ApplicationInsights.AspNetCore;
    
  4. nerede builder.Configuration.AddAzureAppConfiguration çağrılır altında şunları ekleyin:

    // Add Application Insights telemetry.
    builder.Services.AddApplicationInsightsTelemetry(
        new ApplicationInsightsServiceOptions
        {
            ConnectionString = builder.Configuration.GetConnectionString("AppInsights"),
            EnableAdaptiveSampling = false
        })
        .AddSingleton<ITelemetryInitializer, TargetingTelemetryInitializer>();
    

    Bu kod parçacığı aşağıdaki eylemleri gerçekleştirir.

    • Uygulamaya application Insights telemetri istemcisi ekler.
    • Giden telemetriye hedef bilgileri ekleyen bir telemetri başlatıcısı ekler.
    • Uyarlamalı örneklemeyi devre dışı bırakır. Uyarlamalı örneklemeyi devre dışı bırakma hakkında daha fazla bilgi için Sorun Giderme'ye gidin.
  5. QuoteOfTheDay kök klasöründe ExampleTargetingContextAccessor.cs adlı yeni bir dosya oluşturun. Bu, adlı ExampleTargetingContextAccessoryeni bir sınıf oluşturur. Aşağıdaki içeriği dosyaya yapıştırın.

    using Microsoft.FeatureManagement.FeatureFilters;
    
    namespace QuoteOfTheDay
    {
        public class ExampleTargetingContextAccessor : ITargetingContextAccessor
        {
            private const string TargetingContextLookup = "ExampleTargetingContextAccessor.TargetingContext";
            private readonly IHttpContextAccessor _httpContextAccessor;
    
            public ExampleTargetingContextAccessor(IHttpContextAccessor httpContextAccessor)
            {
                _httpContextAccessor = httpContextAccessor ?? throw new ArgumentNullException(nameof(httpContextAccessor));
            }
    
            public ValueTask<TargetingContext> GetContextAsync()
            {
                HttpContext httpContext = _httpContextAccessor.HttpContext;
                if (httpContext.Items.TryGetValue(TargetingContextLookup, out object value))
                {
                    return new ValueTask<TargetingContext>((TargetingContext)value);
                }
                List<string> groups = new List<string>();
                if (httpContext.User.Identity.Name != null)
                {
                    groups.Add(httpContext.User.Identity.Name.Split("@", StringSplitOptions.None)[1]);
                }
                TargetingContext targetingContext = new TargetingContext
                {
                    UserId = httpContext.User.Identity.Name ?? "guest",
                    Groups = groups
                };
                httpContext.Items[TargetingContextLookup] = targetingContext;
                return new ValueTask<TargetingContext>(targetingContext);
            }
        }
    }
    

    Bu sınıf, FeatureManagement'ın hedeflemesinin bir kullanıcının bağlamını nasıl aldığını bildirir. Bu durumda, için UserId okur httpContext.User.Identity.Name ve e-posta adresinin etki alanını olarak Groupele alır.

  6. Program.cs'a dönün ve aşağıdaki using deyimlerini ekleyin.

    using Microsoft.FeatureManagement.Telemetry;
    using Microsoft.FeatureManagement;
    using QuoteOfTheDay;
    
  7. Çağrılan yerin AddApplicationInsightsTelemetry altında, Uygulama Yapılandırması Yenilemeyi işlemek, Özellik Yönetimi'ni ayarlamak, Özellik Yönetimi Hedefleme'yi yapılandırmak ve Telemetri olaylarını yayımlamak için Özellik Yönetimi'ni etkinleştirmek için hizmetler ekleyin.

    builder.Services.AddHttpContextAccessor();
    
    // Add Azure App Configuration and feature management services to the container.
    builder.Services.AddAzureAppConfiguration()
        .AddFeatureManagement()
        .WithTargeting<ExampleTargetingContextAccessor>()
        .AddTelemetryPublisher<ApplicationInsightsTelemetryPublisher>();
    
  8. satırının var app = builder.Build();altında, uygun olduğunda Uygulama Yapılandırması yenilemeyi tetikleyen bir ara yazılım ekleyin.

    // Use Azure App Configuration middleware for dynamic configuration refresh.
    app.UseAzureAppConfiguration();
    
  9. Bunun altında, httpcontext üzerinde depolayarak hedefleme bilgilerine erişmesini sağlamak TargetingTelemetryInitializer için aşağıdaki kodu ekleyin.

    // Add TargetingId to HttpContext for telemetry
    app.UseMiddleware<TargetingHttpContextMiddleware>();
    
  10. QuoteOfTheDay>Pages>Shared>_Layout.cshtml'de, nereye QuoteOfTheDay.styles.css eklenir bölümüne aşağıdaki satırı ekleyerek sürümünün 5.15.3 sürümünün css'sini font-awesomeekleyin.

    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
    
  11. QuoteOfTheDay>Pages>Index.cshtml.cs açın ve içeriğin üzerine alıntı uygulamasına yazın.

    using Microsoft.ApplicationInsights;
    using Microsoft.AspNetCore.Mvc;
    using Microsoft.AspNetCore.Mvc.RazorPages;
    using Microsoft.FeatureManagement;
    
    namespace QuoteOfTheDay.Pages;
    
    public class Quote
    {
        public string Message { get; set; }
    
        public string Author { get; set; }
    }
    
    public class IndexModel(IVariantFeatureManagerSnapshot featureManager, TelemetryClient telemetryClient) : PageModel
    {
        private readonly IVariantFeatureManagerSnapshot _featureManager = featureManager;
        private readonly TelemetryClient _telemetryClient = telemetryClient;
    
        private Quote[] _quotes = [
            new Quote()
            {
                Message = "You cannot change what you are, only what you do.",
                Author = "Philip Pullman"
            }];
    
        public Quote? Quote { get; set; }
    
        public bool ShowGreeting { get; set; }
    
        public async void OnGet()
        {
            Quote = _quotes[new Random().Next(_quotes.Length)];
    
            Variant variant = await _featureManager.GetVariantAsync("Greeting", HttpContext.RequestAborted);
    
            ShowGreeting = variant.Configuration.Get<bool>();
        }
    
        public IActionResult OnPostHeartQuoteAsync()
        {
            string? userId = User.Identity?.Name;
    
            if (!string.IsNullOrEmpty(userId))
            {
                // Send telemetry to Application Insights
                _telemetryClient.TrackEvent("Like");
    
                return new JsonResult(new { success = true });
            }
            else
            {
                return new JsonResult(new { success = false, error = "User not authenticated" });
            }
        }
    }
    

    Bu PageModel rastgele bir tırnak seçer, geçerli kullanıcının değişkenini almak için kullanır GetVariantAsync ve değişkenin değerine "ShowGreeting" adlı bir değişken ayarlar. ayrıca, Application Insights'a PageModel Like adlı bir olay gönderen Post isteklerini işler ve çağrısında _telemetryClient.TrackEvent("Like");bulunur. Bu olay kullanıcıya ve değişkene otomatik olarak bağlanır ve ölçümler tarafından izlenebilir.

  12. index.cshtml dosyasını açın ve teklif uygulamasının içeriğinin üzerine yazın.

    @page
    @model IndexModel
    @{
        ViewData["Title"] = "Home page";
        ViewData["Username"] = User.Identity.Name;
    }
    
    <style>
        body {
            font-family: Arial, sans-serif;
            background-color: #f4f4f4;
            color: #333;
        }
    
        .quote-container {
            background-color: #fff;
            margin: 2em auto;
            padding: 2em;
            border-radius: 8px;
            max-width: 750px;
            box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
            display: flex;
            justify-content: space-between;
            align-items: start;
            position: relative;
        }
    
        .vote-container {
            position: absolute;
            top: 10px;
            right: 10px;
            display: flex;
            gap: 0em;
        }
    
        .vote-container .btn {
            background-color: #ffffff; /* White background */
            border-color: #ffffff; /* Light blue border */
            color: #333
        }
    
        .vote-container .btn:focus {
            outline: none;
            box-shadow: none;
        }
    
        .vote-container .btn:hover {
            background-color: #F0F0F0; /* Light gray background */
        }
    
        .greeting-content {
            font-family: 'Georgia', serif; /* More artistic font */
        }
    
        .quote-content p.quote {
            font-size: 2em; /* Bigger font size */
            font-family: 'Georgia', serif; /* More artistic font */
            font-style: italic; /* Italic font */
            color: #4EC2F7; /* Medium-light blue color */
        }
    </style>
    
    <div class="quote-container">
        <div class="quote-content">
            @if (Model.ShowGreeting)
            {
                <h3 class="greeting-content">Hi <b>@User.Identity.Name</b>, hope this makes your day!</h3>
            }
            else
            {
                <h3 class="greeting-content">Quote of the day</h3>
            }
            <br />
            <p class="quote">“@Model.Quote.Message”</p>
            <p>- <b>@Model.Quote.Author</b></p>
        </div>
    
        <div class="vote-container">
            <button class="btn btn-primary" onclick="heartClicked(this)">
                <i class="far fa-heart"></i> <!-- Heart icon -->
            </button>
        </div>
    
        <form action="/" method="post">
            @Html.AntiForgeryToken()
        </form>
    </div>
    
    <script>
        function heartClicked(button) {
            var icon = button.querySelector('i');
            icon.classList.toggle('far');
            icon.classList.toggle('fas');
    
            // If the quote is hearted
            if (icon.classList.contains('fas')) {
                // Send a request to the server to save the vote
                fetch('/Index?handler=HeartQuote', {
                    method: 'POST',
                    headers: {
                        'Content-Type': 'application/json',
                        'RequestVerificationToken': document.querySelector('input[name="__RequestVerificationToken"]').value
                    }
                });
            }
        }
    </script>
    

    Bu kod, QuoteOfTheDay'i göstermek ve tırnak üzerinde kalp eylemini kullanarak işlemek için kullanıcı arabirimine karşılık gelir. Varyasyonlarına bağlı olarak farklı kullanıcılara farklı şeyler göstermek için daha önce bahsedilen Model.ShowGreeting değeri kullanır.

Uygulamayı derleyin ve çalıştırın

  1. Komut isteminde, QuoteOfTheDay klasöründe şunu çalıştırın: dotnet build.

  2. Komutunu çalıştırın: dotnet run --launch-profile https.

  3. Uygulamanın çıkışında biçiminde Now listening on: https://localhost:{port} bir ileti arayın. Tarayıcınızda eklenen bağlantıya gidin.

  4. Çalışan uygulamayı görüntüledikten sonra sağ üstteki Kaydet'i seçerek yeni bir kullanıcı kaydedin.

    Kaydet'i gösteren Günün Teklifi uygulamasının ekran görüntüsü.

  5. adlı user@contoso.comyeni bir kullanıcı kaydedin. Parolanın en az altı karakteri olmalı ve bir sayı ve özel karakter içermelidir.

  6. Kullanıcı bilgilerini girdikten sonra e-postayı doğrulamak için buraya tıklayın bağlantısını seçin.

  7. adlı userb@contoso.comikinci bir kullanıcıyı kaydedin, başka bir parola girin ve bu ikinci e-postayı doğrulayın.

    Not

    Bu öğreticinin amacı için bu adların tam olarak kullanılması önemlidir. Özellik beklendiği gibi yapılandırıldığı sürece iki kullanıcının farklı çeşitlemeler görmesi gerekir.

  8. Userb ()userb@contoso.com olarak oturum açmak için sağ üstteki Oturum Aç'ı seçin.

    **Oturum Aç** öğesini gösteren Günün Alıntısı uygulamasının ekran görüntüsü.

  9. Oturum açtıktan sonra, uygulamayı görüntülerken özel bir iletinin görüntülendiğini userb@contoso.com görmeniz gerekir.

    Kullanıcıya özel bir ileti gösteren Günün Teklifi uygulamasının ekran görüntüsü.

    userb@contoso.com özel iletiyi gören tek kullanıcıdır.

Telemetriyi etkinleştirme ve değişken özellik bayrağınızda deneme oluşturma

Aşağıdaki adımları izleyerek telemetriyi etkinleştirin ve değişken özellik bayrağınızda bir deneme oluşturun:

  1. Uygulama Yapılandırması deponuzda İşlemler>Özellik yöneticisi'ne gidin.

  2. "Selamlama" değişken özellik bayrağınızın sağındaki ... bağlam menüsünü ve ardından Düzenle'yi seçin.

    Değişken özellik bayrağını düzenleyen Azure portalının ekran görüntüsü.

  3. Telemetri sekmesine gidin ve Telemetriyi Etkinleştir kutusunu işaretleyin.

  4. Deneme sekmesine gidin, Deneme Oluştur kutusunu işaretleyin ve denemenize bir ad verin.

  5. Gözden geçir + güncelleştir'i ve ardından Güncelleştir'i seçin.

  6. Bildirim, işlemin başarılı olduğunu gösterir. Özellik yöneticisi'nde, değişken özellik bayrağı deneme altında Etkin sözcüğüne sahip olmalıdır.

Denemeniz için ölçümler oluşturma

Bölünmüş Deneme Çalışma Alanı'ndaki ölçüm, Application Insights'a gönderilen bir olayın nicel ölçüsüdür. Bu ölçüm, özellik bayrağının kullanıcı davranışı ve sonuçları üzerindeki etkisini değerlendirmeye yardımcı olur.

Uygulamanızı daha önce güncelleştirirken, uygulama koduna eklediniz _telemetryClient.TrackEvent("Like") . Like , bir kullanıcı eylemini temsil eden bir telemetri olayıdır; bu durumda Kalp düğmesi seçimi. Bu olay, oluşturmak üzere olduğunuz ölçüme bağlanacağınız Application Insights kaynağına gönderilir. Oluşturduğumuz uygulama yalnızca bir olayı belirtir, ancak birden çok olay ve ardından birden çok ölçüme sahip olabilirsiniz. Tek bir Application Insight olayını temel alan birden çok ölçüm de olabilir.

  1. Bölünmüş Deneme Çalışma Alanı kaynağınıza gidin. Yapılandırma>DenemeSi Ölçümleri'nin altında Oluştur'u seçin.

  2. Deneme Ölçümü Oluştur'un altında aşağıdaki bilgileri seçin veya girin ve Oluştur ile kaydedin.

    Yeni bir deneme ölçümü oluşturan Azure portalının ekran görüntüsü.

    Ayar Örnek değer Açıklama
    Adı Kalp Oylaması Deneme ölçümünün adı.
    Açıklama Özel bir ileti gördüklerinde kalp düğmesini seçen ve seçmeyen kişi sayısını sayın. Ölçüm için isteğe bağlı açıklama.
    Application Insights Olay Adı Gibi Application Insights olayının adı. Bu ad büyük/küçük harfe duyarlıdır ve ile _telemetryClient.TrackEvent("<Event-Name>")kodunuzda belirtilen addır.
    Farklı ölç Sayı Aşağıdaki seçenekler kullanılabilir:
    • Sayı: Etkinliğin kullanıcılarınız tarafından tetiklenme sayısını sayar.
    • Ortalama: Kullanıcılarınız için olayın değerinin ortalamasını alır.
    • Toplam: Kullanıcılarınız için olayın değerlerini ekler. Ortalama toplam değeri gösterir.
    • Yüzde: Olayı tetikleyen kullanıcıların yüzdesini hesaplar.
    İstenen Etki Artmak Bu ayar, oluşturduğunuz ölçümü ölçmenin nihai amacını veya amacını temsil eder.

    Bu öğreticide, daha fazla kullanıcının Günün Alıntısı'nın yanında özel bir ileti olduğunda kalp şeklindeki gibi düğmesine tıklaması varsayımımızdır. Uygulama kodu bu tıklamayı Like adlı bir olay olarak izler. Uygulama Like olayını Telemetri olarak Application Insights'a gönderir ve bu deneme için İstenen Etki, verilen hipotezi doğrulayabilmek için Heart Vote'daki kullanıcı tıklamalarının (Sayı olarak ölçülür) sayısında bir Artış görmektir. Ayrılan hedef kitleye özel ileti gösterilmesine rağmen düğmedeki tıklama sayısında bir azalma varsa, bu deneme için hipotez geçersiz kılınmış olur.

  3. Yeni ölçüm oluşturulduktan sonra portalda görüntülenir. Ekranın sağ tarafındaki (...) bağlam menüsünü seçerek düzenleyebilir veya silebilirsiniz.

    Deneme ölçümünü gösteren Azure portalının ekran görüntüsü.

Deneme sonuçlarını alma

Yeni kurulum denemenizi test etmek ve analiz etmek, uygulamanıza gelen trafiğin simülasyonunu yapmak ve 10-15 dakika beklemeniz için sonuçlar oluşturmak için.

Denemenizin sonuçlarını görüntülemek için Özellik Yöneticisi'ne gidin ve değişken özellik bayrakları listesinde ... öğesine tıklayın.> Deneme yapın veya Deneme sütununda Etkin bağlantısını seçin. Bu sütun varsayılan olarak görüntülenmez. Bunu göstermek için Özellik yöneticisi'nde Görünümü yönet>Sütunları>Düzenle Sütun>Ekleme Denemesi ve Uygula'yı seçin.

Sonuçlar sayfasında Deneme sürümü, sonuçları karşılaştıracak bir Temel ve varsayılan olarak bir Karşılaştırma değişkeni seçilir. Gerekirse, istediğiniz gibi varsayılan değerleri değiştirin, ardından denemenizin sonucunu görüntülemek için Uygula'yı seçin.

Deneme sonucunu gösteren Azure portalının ekran görüntüsü.

Yukarıdaki ekran görüntüsünde denemenin istenen sonucu elde ettiği ve Heart Vote için Açık değişkeninin Kapalı değişkenden %560,62 daha fazla Kalp oyu elde ettiği gösterilmektedir.

Değişken özellik bayrağındaki herhangi bir düzenleme denemenin yeni bir sürümünü oluşturur ve bu sürümün sonuçlarını görüntülemeyi seçebilirsiniz.

Not

Deneme sonuçları almak için değişken başına en az 30 olay gerekir, ancak denemenizin güvenilir sonuçlar ürettiğinden emin olmak için minimum örnekleme boyutuna daha fazla sahip olmanız önerilir.

Not

Application Insights örneklemesi varsayılan olarak etkindir ve deneme sonuçlarınızı etkileyebilir. Bu öğretici için Application Insights'ta örneklemeyi kapatmanız önerilir. Application Insights'ta Örnekleme hakkında daha fazla bilgi edinin.

Sonraki adım

Deneme kavramları hakkında daha fazla bilgi edinmek için aşağıdaki belgeye bakın.

.NET özellik yönetimi kitaplığının tam özellik çalıştırması için aşağıdaki belgeye geçin.