Aracılığıyla paylaş


Azure Relay özel durumları

Bu makalede, Azure Relay API'leri tarafından oluşturulabilecek bazı özel durumlar listelenir. Bu başvuru değiştirilebilir, bu nedenle güncelleştirmeleri yeniden denetleyin.

Özel durum kategorileri

Geçiş API'leri aşağıdaki kategorilere düşebilecek özel durumlar oluşturur. Ayrıca, özel durumları çözmeye yardımcı olmak için gerçekleştirebileceğiniz önerilen eylemler de listelenmiştir.

Özel durum türleri

Aşağıdaki tabloda mesajlaşma özel durum türleri ve bunların nedenleri listelenmiştir. Ayrıca, özel durumları çözmeye yardımcı olmak için gerçekleştirebileceğiniz önerilen eylemleri not eder.

Özel durum türü Açıklama Önerilen eylem Otomatik veya hemen yeniden denemeyle ilgili not
Zaman aşımı Sunucu, operationTimeout tarafından denetlenen belirtilen süre içinde istenen işleme yanıt vermedi. Sunucu istenen işlemi tamamlamış olabilir. Ağ veya diğer altyapı gecikmelerinden kaynaklanabilir. Tutarlılık için sistem durumunu denetleyin ve gerekirse yeniden deneyin. Bkz. TimeoutException. Yeniden deneme bazı durumlarda yardımcı olabilir; koda yeniden deneme mantığı ekleyin.
Geçersiz İşlem İstenen kullanıcı işlemine sunucu veya hizmet içinde izin verilmez. Ayrıntılar için özel durum iletisine bakın. Kodu ve belgeleri denetleyin. İstenen işlemin geçerli olduğundan emin olun. Yeniden deneme yardımcı olmaz.
İşlem İptal Edildi Zaten kapatılmış, durdurulmuş veya atılmış bir nesne üzerinde bir işlem çağrılmaya çalışılır. Nadir durumlarda ortam işlemi zaten atılır. Kodu denetleyin ve atılan nesnede işlemleri çağırmadığından emin olun. Yeniden deneme yardımcı olmaz.
Yetkisiz Erişim TokenProvider nesnesi belirteç alamadı, belirteç geçersiz veya belirteç işlemi gerçekleştirmek için gereken talepleri içermiyor. Belirteç sağlayıcısının doğru değerlerle oluşturulduğundan emin olun. Erişim Denetimi hizmetinin yapılandırmasını denetleyin. Yeniden deneme bazı durumlarda yardımcı olabilir; koda yeniden deneme mantığı ekleyin.
Bağımsız Değişken Özel Durumu,
Bağımsız Değişken Null,
Bağımsız Değişken Aralık Dışında
Aşağıdakilerden biri veya daha fazlası oluştu:
yöntemine sağlanan bir veya daha fazla bağımsız değişken geçersiz.
NamespaceManager veya Create için sağlanan URI bir veya daha fazla yol kesimi içerir.
NamespaceManager veya Create'a sağlanan URI düzeni geçersiz.
Özellik değeri 32 KB'tan büyük.
Çağıran kodu denetleyin ve bağımsız değişkenlerin doğru olduğundan emin olun. Yeniden deneme yardımcı olmaz.
Sunucu Meşgul Hizmet şu anda isteği işleyemiyor. İstemci bir süre bekleyebilir ve işlemi yeniden deneyebilir. İstemci belirli bir aralıkta yeniden deneyebilir. Yeniden deneme farklı bir özel durumla sonuçlanırsa, bu özel durumun yeniden deneme davranışını denetleyin.
Kota Aşıldı Mesajlaşma varlığı izin verilen maksimum boyuta ulaştı. Varlıktan veya alt sıralarından iletiler alarak varlıkta alan oluşturun. Bkz . QuotaExceededException. Bu arada iletilerin kaldırılması durumunda yeniden deneme yardımcı olabilir.
İleti Boyutu Aşıldı İleti yükü 256 KB sınırını aşıyor. 256 KB sınırının toplam ileti boyutu olduğunu unutmayın. Toplam ileti boyutu, sistem özelliklerini ve tüm Microsoft .NET ek yüklerini içerebilir. İleti yükünün boyutunu küçültün ve işlemi yeniden deneyin. Yeniden deneme yardımcı olmaz.

Quotaexceededexception

QuotaExceededException, belirli bir varlık için belirlenen kotanın aşıldığını gösterir.

Geçiş için bu özel durum System.ServiceModel.QuotaExceededException'ı sarmalar ve bu da bu uç nokta için en fazla dinleyici sayısının aşıldığını gösterir. Özel durum iletisinin MaximumListenersPerEndpoint değerinde gösterilir.

TimeoutException

TimeoutException, kullanıcı tarafından başlatılan bir işlemin işlem zaman aşımı süresinden daha uzun sürdüğünü gösterir.

ServicePointManager.Default Bağlan ionLimit özelliğinin değerini denetleyin. Bu sınıra ulaşmak bir TimeoutException'a da neden olabilir.

Geçiş için, geçiş gönderen bağlantısını ilk kez açtığınızda zaman aşımı özel durumları alabilirsiniz. Bu özel durumun iki yaygın nedeni vardır:

  • OpenTimeout değeri çok küçük olabilir (saniyenin bir bölümü olsa bile).
  • Şirket içi geçiş dinleyicisi yanıt vermiyor olabilir (veya dinleyicilerin yeni istemci bağlantılarını kabul etmelerini engelleyen güvenlik duvarı kuralları sorunlarıyla karşılaşabilir) ve OpenTimeout değeri yaklaşık 20 saniyeden kısadır.

Örnek:

'System.TimeoutException’: The operation did not complete within the allotted timeout of 00:00:10.
The time allotted to this operation may have been a portion of a longer timeout.

Olası nedenler

Bu hata için iki olası neden vardır:

  • Yanlış yapılandırma

    İşlem zaman aşımı, işletim durumu için çok küçük olabilir. İstemci SDK'sında işlem zaman aşımı için varsayılan değer 60 saniyedir. Kodunuzdaki değerin çok küçük bir değere ayarlanıp ayarlanmadığını denetleyin. CPU kullanımının ve ağın koşulunun bir işlemin tamamlanması için gereken süreyi etkileyebileceğini unutmayın. İşlem zaman aşımını çok küçük bir değere ayarlamamak iyi bir fikirdir.

  • Geçici hizmet hatası

    Geçiş hizmeti bazen istekleri işlemede gecikmelerle karşılaşabilir. Bu durum, örneğin trafiğin yüksek olduğu dönemlerde gerçekleşebilir. Oluşursa, işlem başarılı olana kadar bir gecikmeden sonra işleminizi yeniden deneyin. Aynı işlem birden çok denemeden sonra başarısız olursa, bilinen hizmet kesintileri olup olmadığını görmek için Azure hizmet durumu sitesini denetleyin.

Bağlan ionLostException - NameRenewalFailed

Belirtiler

İstemciniz şu özel durumu alır: Microsoft.Azure.Relay.ConnectionLostException : InternalServerError: NameRenewalFailed.

Neden

Azure Relay hizmeti, dinleyici bağlantılarını 24 saatte bir yeniden başlatır. Bu davranış tasarım gereğidir. Azure Relay hizmeti her 24 saatte bir dinleyici etkin bağlantısını keser ve dinleyici yeniden deneme mekanizmasını kullanarak sunucuya yeniden bağlanır.

Çözünürlük

Dinleyici sunucuya otomatik olarak yeniden bağlandığından sizin tarafınızda hiçbir eylem yok. Dinleyicinizin yeniden bağlanmadığını fark ederseniz destek ekibine bir bilet gönderin.

Sonraki adımlar