Aracılığıyla paylaş


IdnMapping.UseStd3AsciiRules Özellik

Tanım

Geçerli IdnMapping nesnenin üyeleri tarafından gerçekleştirilen işlemlerde standart veya gevşek adlandırma kurallarının kullanılıp kullanılmadığını belirten bir değer alır veya ayarlar.

public:
 property bool UseStd3AsciiRules { bool get(); void set(bool value); };
public bool UseStd3AsciiRules { get; set; }
member this.UseStd3AsciiRules : bool with get, set
Public Property UseStd3AsciiRules As Boolean

Özellik Değeri

true işlemlerde standart adlandırma kuralları kullanılıyorsa; aksi takdirde , false.

Örnekler

Aşağıdaki örnek, U+0000 ile U+007F arasında ASCII aralığında karakterler içeren URL'ler oluşturur ve bunları iki IdnMapping nesnenin yöntemine GetAscii(String) geçirir. Bir nesnenin UseStd3AsciiRules özelliği olarak true, diğer nesnede ise olarak ayarlanmıştır false. Çıkış, özelliği olduğunda UseStd3AsciiRules geçersiz ancak olduğunda geçerli falseolan true karakterleri görüntüler.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      int nFailed = 0;
      IdnMapping idnStd = new IdnMapping();
      idnStd.UseStd3AsciiRules = true;

      IdnMapping idnRelaxed = new IdnMapping();
      idnRelaxed.UseStd3AsciiRules = false;  // The default, but make it explicit.

      for (int ctr = 0; ctr <= 0x7F; ctr++) {
         string name = $"Prose{ctr}ware.com";

         bool stdFailed = false;
         bool relaxedFailed = false;
         string punyCode = "";
         try {
            punyCode = idnStd.GetAscii(name);
         }
         catch (ArgumentException) {
            stdFailed = true;
         }

         try {
            punyCode = idnRelaxed.GetAscii(name);
         }
         catch (ArgumentException) {
            relaxedFailed = true;
         }

         if (relaxedFailed != stdFailed) {
            Console.Write("U+{0:X4}     ", ctr);
            nFailed++;
            if (nFailed % 5 == 0)
               Console.WriteLine();
         }
      }
   }
}
// The example displays the following output:
//       U+0020     U+0021     U+0022     U+0023     U+0024
//       U+0025     U+0026     U+0027     U+0028     U+0029
//       U+002A     U+002B     U+002C     U+002F     U+003A
//       U+003B     U+003C     U+003D     U+003E     U+003F
//       U+0040     U+005B     U+005C     U+005D     U+005E
//       U+005F     U+0060     U+007B     U+007C     U+007D
//       U+007E
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim nFailed As Integer = 0
      Dim idnStd As New IdnMapping()
      idnStd.UseStd3AsciiRules = True
      
      Dim idnRelaxed As New IdnMapping
      idnRelaxed.UseStd3AsciiRules = False     ' The default, but make it explicit.
      
      For ctr As Integer = 0 To &h7F 
         Dim name As String = "Prose" + ChrW(ctr) + "ware.com"
         
         Dim stdFailed As Boolean = False
         Dim relaxedFailed As Boolean = False
         Dim punyCode As String
         Try
            punyCode = idnStd.GetAscii(name)
         Catch e As ArgumentException
            stdFailed = True
         End Try       
         
         Try
            punyCode = idnRelaxed.GetAscii(name)
         Catch e As ArgumentException
            relaxedFailed = True
         End Try       
         
         If relaxedFailed <> stdFailed Then
            Console.Write("U+{0:X4}     ", ctr)
            nFailed += 1
            If nFailed Mod 5 = 0 Then Console.WriteLine()         
         End If 
      Next   
   End Sub
End Module
' The example displays the following output:
'       U+0020     U+0021     U+0022     U+0023     U+0024
'       U+0025     U+0026     U+0027     U+0028     U+0029
'       U+002A     U+002B     U+002C     U+002F     U+003A
'       U+003B     U+003C     U+003D     U+003E     U+003F
'       U+0040     U+005B     U+005C     U+005D     U+005E
'       U+005F     U+0060     U+007B     U+007C     U+007D
'       U+007E

Açıklamalar

Standart adlandırma kurallarına uyan etki alanı adları, ABD-ASCII karakter aralığındaki belirli bir karakter alt kümesinden oluşur. Karakterler A ile Z arasındaki harfler, 0 ile 9 arasındaki basamaklar, kısa çizgi (-) karakteri (U+002D) ve nokta (.) karakteridir. Karakterlerin durumu önemli değildir. Gevşek adlandırma kuralları boşluk karakteri (U+0020), ünlem işareti karakteri (U+0021) ve alt çubuk karakteri (U+005F) dahil olmak üzere daha geniş bir ASCII karakter aralığının kullanılmasına olanak sağlar. ise UseStd3AsciiRulestrue, yöntemi tarafından GetAscii döndürülen bir etikette yalnızca standart karakterler görüntülenebilir.

Varsayılan olarak, özelliğinin UseStd3AsciiRules değeri şeklindedir falseve etikette genişletilmiş bir ASCII karakter alt kümesine izin verilir.

Not

sınıfı, IdnMapping özelliğin ayarından bağımsız olarak etki alanı adı etiketlerinde U+0000 ile U+001F ve U+007F arasında oynatılamayan karakterlerin UseStd3AsciiRules kullanılmasını yasaklar. Bu yasak, ad sahtekarlığı gibi güvenlik saldırıları riskini azaltır.

Şunlara uygulanır