Makale numarası: 325056 - Son Gözden Geçirme: 29 Ekim 2003 Çarşamba - Gözden geçirme: 3.3

SORUN: SqlServer veya StateServer oturum modu kullanırsanız oturum durumu Web grubu kaybedildi

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.
Hepsini aç | Hepsini kapa

Belirtiler

SqlServer veya StateServer oturum durumu modunu kullanırsanız, yükü dengelenmiş Web çiftliği ortamında bir ASP.NET Web uygulaması çalıştırdığınızda, oturum durumu kaybolabilir.

Neden

Uygulama yolu (örneğin, \LM\W3SVC\2) ınternet ınformation Services (IIS) metatabanı'nda Web sitesinin Web çiftliğindeki farklı Web sunucuları arasında oturum durumunu korumak için <a0></a0>, Web sunucuları Web çiftliğindeki tüm aynı olmalıdır. Servis talebini de uygulama yolu büyük/küçük harfe duyarlı olduğundan, aynı olması gerekir.

Bir Web sunucusunda, ASP.NET uygulama barındırıldığı Web sitesinin örnek KIMLIĞI 2 (Uygulama yolu \LM\W3SVC\2 olduğu) olabilir. Başka bir Web sunucusunda Web sitesi örneği KIMLIĞI 3 (Uygulama yolu \LM\W3SVC\3 olduğu) olabilir. Bu nedenle, uygulama yolları Web çiftliğindeki Web sunucuları arasında farklılık gösterir. Web sitesinin uygulama yolu denetleme hakkında ek bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
240225  (http://support.microsoft.com/kb/240225/ ) Adsutil ve metatabanı değişiklik yapmak için kullanılan MetaEdit açıklaması

Çözüm

Bu soruna geçici bir çözüm bulmak için <a0></a0>, uygulama yolunu Web sitesi için Web çiftliğindeki tüm Web sunucularının IIS metatabanındaki eşitleyin. Uygulama yolu Web sitesi için büyük/küçük harf duyarlı olduğu durumda aynı olduğundan emin olun.

Not Microsoft, metatabanının değiştirmeden önce IIS metatabanını yedekleyen önerir. Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
302573  (http://support.microsoft.com/kb/302573/ ) NASıL YAPıLıR: Yedekleme ve IIS geri yükleme
Uygulama yolu Web sitesinin eşitlemek için <a0></a0>, aşağıdaki yöntemlerden birini kullanın:
  • IIS metatabanı kodunu kullanarak değiştirin.
    1. Bir metin dosyası oluşturun ve Moveinstance.vbs dosya adı.
    2. Bunlar aynı olan, Web sitelerinin kimlikleri örneği değiştirir Moveinstance.vbs için aşağıdaki kodu ekleyin:
      Dim WebService
      Dim oldstr
      Dim newstr
      Dim args
      Set args = WScript.Arguments
      If args.Count < 1 Then
          Wscript.Echo "Must have original instance id and new instance id" &     chr(10) & chr(13) & _
          "usage:  moveinstance.vbs 1 5"  & chr(10) & chr(13) & _
      "Moves instance 1 to instance 5"
          WScript.Quit()
      End If
      Set WebService = GetObject("IIS://LocalHost/W3SVC")
      oldstr = args(0) 'old instance
      newstr = args(1) 'new instance
      WebService.MoveHere oldstr,newstr
      WebService.SetInfo
      Set WebService = nothing
      Set args=nothing
      WScript.echo "DONE"
      						
    3. Moveinstance.vbs kaydedin.
    4. Komut dosyasını komut isteminden, .vbs dosya, önceki adımda kaydettiğiniz aynı konumdan çalıştırın.

      Örneğin, cscript moveinstance.vbs 1 5, komut istemine yazın. Bu Web sitesinin örnek KIMLIĞI 1 ile 5 metatabanında değiştirir.

      Not Web sitesine atadığınız yeni bir örnek KIMLIĞI zaten başka bir Web sitesine atanmış olduğunu doğrulayın. Bu durum, güvenilir olmayan sonuçlara neden olabilir.
  • Uygulama yolu Web sitesinin Q240225 Microsoft Knowledge Base makalesinde açıklanan araçları kullanarak eşitlemek için metabase değiştirin.Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
    240225  (http://support.microsoft.com/kb/240225/ ) Adsutil ve metatabanı değişiklik yapmak için kullanılan MetaEdit hizmet programları'nın açıklaması
Not StateServer modunu kullandığınızda, emin <machinekey> Web grubu Machine.config dosyasında aynı anahtarlarının bölüm vardır. Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
312906  (http://support.microsoft.com/kb/312906/ ) NASıL YAPıLıR: Form kimlik doğrulaması'nda kullanmak için Visual C#. NET'i kullanarak anahtarları oluştur
313091  (http://support.microsoft.com/kb/313091/ ) NASıL YAPıLıR: Form kimlik doğrulaması'nda kullanmak için Visual Basic .NET kullanarak anahtarları oluştur

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft ASP.NET (included w/ the .NET Framework 1.1)
  • Microsoft ASP.NET 1.0
Anahtar Kelimeler: 
kbmt kbconfig kbprb kbstate KB325056 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:325056  (http://support.microsoft.com/kb/325056/en-us/ )