Makale numarası: 827190 - Son Gözden Geçirme: 16 Ekim 2006 Pazartesi - Gözden geçirme: 3.2

SORUN: bir ASP.NET uygulaması, kimliğe bürünme kullanan, "/ApplicationName uygulama olarak, sunucu hatası" hata iletisi

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ı.

Bu Sayfada

Hepsini aç | Hepsini kapa

Belirtiler

Microsoft .NET Framework sürüm 1.0 sürümüne yükseltme 1.1 ve sonra Microsoft Access veritabanına erişmek için olan bir Kimliğine bürünülen hesabın bir Microsoft ASP.NET uygulamasını çalıştırmak için aşağıdaki hata iletisini alabilirsiniz:
Sunucu hatası ' / ApplicationName ' uygulama.

Belirlenemeyen hata

Açıklama: geçerli web isteği yürütülürken işlenmeyen bir özel durum oluştu. Lütfen hata ve kod içinde kaynaklandığı yer hakkında daha fazla bilgi almak için yığın izlemesini gözden geçirin.

Özel durum ayrıntıları: System.Data.OleDb.OleDbException: hata belirtilmemiş.

Neden

.NET Framework 1.0, ASP.NET uygulamaları TEMP kullanmak geçici dosyaları depolamak için ortam değişkenlerini tarafından atanan klasör. ASP.NET uygulamaları, geçici dosyaları yazmak için .NET Framework 1. 1'de yerel ASPNET hesabı için profil klasörü kullanın. Bu profil klasörü C:\Documents and Settings\ ServerName \ASPNET\TEMP ' dir. ASPNET hesabının bu klasöre yazma izinleri vardır.

Ancak, özellikleri bir hesabın, ASP.NET uygulamasında kimliğe bürünme kullanıyorsa, geçici dosyaları bu klasöre yazma izniniz olmayabilir. .NET Framework 1.1 için bir Web sunucusuna yükseltildiğinde, bu nedenle, uygulama bu makalenin "Belirtiler" bölümünde anlatılan hata iletisiyle başarısız olabilir.

Çözüm

Bu sorunu gidermek için <a0></a0>, okundu atamak ve yazma izinlerinin Kimliğine bürünülen hesabın C:\Documents and Settings\ ServerName \ASPNET klasörde. Bunu yapmak için şu adımları izleyin:
  1. Windows Gezgini'nde, C:\Document settings\ ServerName \ASPNET\local ayarları klasörü bulun.
  2. Temp klasörü sağ tıklatın.
  3. Özellikler ' i tıklatın ve ardından Güvenlik ' i tıklatın.
  4. Ekle ' yi tıklatın, ServerName \ASPNETkullanıcı veya Grup Seç iletişim kutusuna yazın ve Tamam ' ı tıklatın.
  5. Tam Denetim onay kutusunun seçili olduğundan emin olun ve sonra Tamam ' ı tıklatın.

Durum

Bu davranış tasarım yüzündendir.

Daha fazla bilgi

Yeni bir ASP.NET Web uygulaması oluşturma

  1. Microsoft Visual Studio .NET'i başlatın.
  2. Microsoft Visual C# .NET veya Microsoft Visual Basic .NET kullanarak yeni bir ASP.NET Web uygulaması oluşturun. Projeyi WebApp1 adlandırın. Varsayılan olarak, WebForm1.aspx oluşturulur.
  3. WebForm1.aspx</a1> çift tıklatın. Arka planda kodlama sayfası görüntülenir.
  4. Aşağıdaki ad başvurusu, arka planda kodlama sınıfını dosyasının başına ekleyin:

    Visual C# .NET kod
    using System.Data.OleDb;
    Visual Basic .NET kodu
    Imports System.Data.OleDb
  5. Page_Load</a0> olay işleyicisine aşağıdaki kodla değiştirin:

    Visual C# .NET kod
    private void Page_Load(object sender, System.EventArgs e)
    {
    // Use a string variable to hold the ConnectionString property.
     string connectString = "Provider=Microsoft.Jet.OLEDB.4.0;"
    		+ "Data Source=C:\\Program Files\\Microsoft Visual Studio\\VB98\\NWIND.MDB";	
    
    OleDbConnection cn = new OleDbConnection(connectString);
    //Open the connection.
    cn.Open();
    
    // Use a variable to hold the SQL statement.
    string selectString = "SELECT CustomerID, ContactName FROM Customers";
    
    // Create an OleDbCommand object.
    OleDbCommand cmd = new OleDbCommand(selectString,cn);
    
    OleDbDataReader reader = cmd.ExecuteReader();
    
    while(reader.Read())
     {	
      Response.Write(reader["CustomerID"].ToString()+ " : "+reader["ContactName"].ToString()+"<br>");
     }
    // Close the reader and the related connection.
     reader.Close();
     cn.Close();
    }
    
    Visual Basic .NET kodu
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'Use a string variable to hold the ConnectionString property.
            Dim connectString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                                        "Data Source=C:\\Program Files\\Microsoft Visual Studio\\VB98\\NWIND.MDB"
         
            Dim cn As OleDbConnection = New OleDbConnection(connectString)
    
            'Open the connection.
            cn.Open()
    
            'Use a variable to hold the SQL statement.
            Dim selectString As String = "SELECT CustomerID, ContactName,  FROM Customers"
           
            Dim cmd As OleDbCommand = New OleDbCommand(selectString, cn)
     
            Dim reader As OleDbDataReader = cmd.ExecuteReader()
    
            While (reader.Read())
                Response.Write(reader("CustomerID").ToString() + " : " + reader("ContactName").ToString() + "<br>")
            End While
    
            'Close the reader and the related connection.
            reader.Close()
            cn.Close()
    
        End Sub
    
    Not Değiştir, Northwind veritabanının konumu göstermek için kodun başına connectString değişken.

Kimliğe bürünme ayarlayın.

  1. Solution Explorer'da Web.config dosyasını çift tıklatın.
  2. Altında <System.web> bölümünde, kimliğe bürünme için aşağıdaki öğeyi ekleyin:
    <identity impersonate="true" />
  3. Kaydedin ve Web.config dosyasını kapatın.

ASP.NET 1.0 çalışan uygulama

Yapı) menüsünde, Başlat ' ı tıklatın.

.NET Framework 1.1 için .NET Framework 1. 0'dan yükseltme

Karşıdan yüklemek ve .NET Framework 1. 1'i yüklemek için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/netframework/aa731542.aspx (http://msdn2.microsoft.com/en-us/netframework/aa731542.aspx)

ASP.NET 1.1 çalışan uygulama

WebApp1 uygulamayı çalıştırmak için <a0></a0>, Microsoft ınternet Explorer'da aşağıdaki URL'YI yazın:
http://locahost/WebApp1/WebForm1.aspx
Bu makalenin "Belirtiler" bölümünde açıklanan hata iletisi görebilirsiniz.

Referanslar

Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
306158  (http://support.microsoft.com/kb/306158/ ) BILGI: Bir ASP.NET uygulamasında kimliğe bürünme uygulama

317012  (http://support.microsoft.com/kb/317012/ ) BILGI: İşlem ve istek kimliği ASP.NET'te

323293  (http://support.microsoft.com/kb/323293/ ) DÜZELTME: Temsil Etkinleştirilmiş Olarak Dizin Oluşturma Hizmetine ASP.NET'ten Erişmeye Çalıştığınızda "Erişim Engellendi" Hata İletisi

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft ASP.NET 1.1
Anahtar Kelimeler: 
kbmt kberrmsg kbwebserver kbconfig kbprb KB827190 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:827190  (http://support.microsoft.com/kb/827190/en-us/ )