Makale numarası: 911721 - Son Gözden Geçirme: 13 Mart 2006 Pazartesi - Gözden geçirme: 1.1

Ortak özellik çalışma zamanında erişmek mümkün olmayabilir ve ASP.NET 2.0 tabanlı bir uygulamada bir hata iletisi alabilirsiniz

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

Şu senaryoyu inceleyin. Microsoft ASP.NET 2.0 tabanlı bir uygulamada, bir Microsoft Windows Forms kullanıcı denetimi nesnesi bir Web sayfası içerir. JavaScript, Windows Forms kullanıcı bu denetim nesnenin özelliklerine erişmek için kullanın. Bu senaryoda, ortak özellik çalışma zamanında erişimi olmayabilir. Ayrıca, aşağıdaki özel durum hata iletisi alabilirsiniz:
Just-in-time (JIT) hata ayıklamayı çağırma hakkında ayrıntılar için bu iletişim kutusu yerine, bu iletinin sonuna bakın.
************** Özel durum metin **************
Tür izninin System.Security.SecurityException: istek ' System.Security.Permissions.SecurityPermission, mscorlib, sürüm System.WebVersion=2.0.0.0,culture=Neutral, culture = bağımsız, PublicKeyToken = b77a5c561934e089 = ' başarısız oldu. at System.Windows.Forms.SafeNativeMethods.IFont.GetHFont() at System.Windows.Forms.Control.ActiveXImpl.get_AmbientFont() at System.Windows.Forms.Control.get_Font() at System.Windows.Forms.Control.GetParentFont() at System.Windows.Forms.Control.get_Font() at System.Windows.Forms.ButtonInternal.ButtonBaseAdapter.CommonLayout() at System.Windows.Forms.ButtonInternal.ButtonStandardAdapter.PaintWorker(PaintEventArgs e, Boolean up, CheckState state) at System.Windows.Forms.ButtonInternal.ButtonStandardAdapter.PaintUp(PaintEventArgs e, CheckState state) at System.Windows.Forms.ButtonInternal.ButtonStandardAdapter.PaintOver(PaintEventArgs e, CheckState state) at System.Windows.Forms.ButtonInternal.ButtonBaseAdapter.Paint(PaintEventArgs pevent) at System.Windows.Forms.ButtonBase.OnPaint(PaintEventArgs pevent) at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer, Boolean disposeEventArgs) at System.Windows.Forms.Control.WmPaint(Message& m) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ButtonBase.WndProc(Message& m) at System.Windows.Forms.Button.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Eylem başarısız oldu:
Isteğe bağlı
Başarısız olan ilk iznin türü: System.Security.Permissions.SecurityPermission
************** Yüklenen Derlemeler **************
Mscorlib
Derleme sürümü: System.WebVersion=2.0.0.0,culture=Neutral
Win32 sürümü: 2.0.50215.44 (beta2.050215-4400)
CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50215/mscorlib.dll
----------------------------------------
SYSTEM (Sistem)
Derleme Sürümü: System.WebVersion=2.0.0.0,culture=Neutral
Win32 sürümü: 2.0.50215.44 (beta2.050215-4400)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
SmartClient
Derleme Sürümü: 1.0.1928.26893
Win32 sürümü: n/a
CodeBase: http://localhost:1156/SmartClientTestWeb/SmartClient.dll
----------------------------------------
System.Windows.Forms
Derleme sürümü: System.WebVersion=2.0.0.0,culture=Neutral
Win32 sürümü: 2.0.50215.44 (beta2.050215-4400)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Derleme Sürümü: System.WebVersion=2.0.0.0,culture=Neutral
Win32 sürümü: 2.0.50215.44 (beta2.050215-4400)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
Microsoft.Mshtml
Derleme sürümü: 7.0.3300.0
Win32 sürümü: 7.0.3300.0
CodeBase: file:///C:/WINDOWS/assembly/GAC/Microsoft.mshtml/7.0.3300.0__b03f5f7f11d50a3a/Microsoft.mshtml.dll
----------------------------------------
************** JIT hata ayıklama **************
Just-in-time (JIT) hata ayıklamayı etkinleştirmek için <a0></a0>, bu uygulamanın veya bilgisayarın (machine.config) .config dosyası system.windows.forms bölümünde jitDebugging değeri olmalıdır. Ayrıca uygulama hata ayıklama etkin olan derlenmeli.
Örneğin,:
<configuration>< system.windows.forms jitDebugging = "true" / ></configuration>
JIT hata ayıklama etkin durumdayken, işlenmeyen bir özel durumla bilgisayarda kayıtlı JIT hata ayıklayıcı gönderileceği yerine bu iletişim kutusu tarafından işlenmesi.
Not Bu sorun Microsoft .NET Framework ortaya 1.1.

Neden

Bu sorun, aşağıdaki öznitelik UserControl temel sınıfını içeren nedeniyle oluşur.
ComVisible(false)

Pratik Çözüm

Bu soruna geçici bir çözüm bulmak için <a0></a0>, aşağıdaki öznitelik için <a2>UserControl</a2> sınıfı olarak ekleyin.
ComVisible(true)

Daha fazla bilgi

Sorunu Yeniden Oluşturma Adımları

  1. Microsoft Visual Studio 2005'i başlatın.
  2. Dosya menüsünde, Yeni Web sitesi ' ı tıklatın.
  3. Şablonlar listesinde ASP.NET Web sitesi (ingilizce)'i tıklatın.
  4. Konum kutusunda DriveLetter:\Path\KB911721 yazın.
  5. Dili listesinden, Visual C# ' ı tıklatın ve sonra Tamam ' ı tıklatın.
  6. Solution Explorer'da (Çözüm Gezgini), default.aspx ' ı sağ tıklatın ve sonra da ' ı tıklatın.
  7. Varolan kodu aşağıdaki kodla değiştirin.
    <%@ Page Language="C#" CodeFile="Default.aspx.cs" Inherits="_Default" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Untitled Page</title>
        <script language=javascript>
            function TestData()
            {
                alert('Test1');
                form1.TestControl.TestProperty = "gomusin";
                alert(form1.TestControl.TestProperty);
            }
            
            function TestData1()
            {
                alert('Test2');
                var sData = form1.TestControl.TestProperty;
                alert(sData);
            }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <object id="TestControl" classid="SmartClient.dll#SmartClient.UserControl1" VIEWASTEXT>
            </object>
            <input id="Button2" type="button" value="Property Read" style="width: 165px" onclick="javascript:TestData1()" />
            <input id="Button1" type="button" value="Property Write" style="width: 168px" onclick="javascript:TestData()"/>
    </div>
        </form>
    </body>
    </html>
  8. Dosya menüsünde Ekle ' yi tıklatın ve sonra da New Project ' i tıklatın.
  9. Şablonlar listesinden tıklatın Windows Denetim Kitaplığı.
  10. Ad kutusuna SmartClient yazın.
  11. Konum kutusundaki DriveLetter:\Path yazın ve Tamam ' ı tıklatın.
  12. Kod tasarımcısında UserControl1.Designer.cs dosyasının varolan kodu aşağıdaki kodla değiştirin.
    namespace SmartClient
    {
        partial class UserControl1
        {
            /// <summary>
            /// Required designer variable.
            /// </summary>
            private System.ComponentModel.IContainer components = null;
    
            /// <summary>
            /// Clean up any resources being used.
            /// </summary>
            /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
            protected override void Dispose(bool disposing)
            {
                if (disposing && (components != null))
                {
                    components.Dispose();
                }
                base.Dispose(disposing);
            }
    
            #region Component Designer generated code
    
            /// <summary>
            /// Required method for designer support - do not modify 
            /// the contents of this method with the code editor.
            /// </summary>
            private void InitializeComponent()
            {
                this.button1 = new System.Windows.Forms.Button();
                this.button2 = new System.Windows.Forms.Button();
                this.textBox1 = new System.Windows.Forms.TextBox();
                this.SuspendLayout();
                // 
                // button1
                // 
                this.button1.Location = new System.Drawing.Point(7, 90);
                this.button1.Name = "button1";
                this.button1.Size = new System.Drawing.Size(126, 23);
                this.button1.TabIndex = 0;
                this.button1.Text = "property Read";
                this.button1.Click += new System.EventHandler(button1_Click);
                // 
                // button2
                // 
                this.button2.Location = new System.Drawing.Point(146, 90);
                this.button2.Name = "button2";
                this.button2.Size = new System.Drawing.Size(127, 23);
                this.button2.TabIndex = 1;
                this.button2.Text = "property Write";
                this.button2.Click += new System.EventHandler(button2_Click);
                // 
                // textBox1
                // 
                this.textBox1.Location = new System.Drawing.Point(22, 25);
                this.textBox1.Name = "textBox1";
                this.textBox1.Size = new System.Drawing.Size(232, 21);
                this.textBox1.TabIndex = 2;
                // 
                // UserControl1
                // 
                this.Controls.Add(this.textBox1);
                this.Controls.Add(this.button2);
                this.Controls.Add(this.button1);
                this.Name = "UserControl1";
                this.Size = new System.Drawing.Size(276, 123);
                this.ResumeLayout(false);
                this.PerformLayout();
    
            }
    
            #endregion
    
            private System.Windows.Forms.Button button1;
            private System.Windows.Forms.Button button2;
            private System.Windows.Forms.TextBox textBox1;
        }
    }
  13. Solution Explorer'da (Çözüm Gezgini), UserControl1.cs ' ı sağ tıklatın ve Kod Görüntüle</a1>'ı tıklatın.
  14. Varolan uygulama kodu aşağıdaki kodla değiştirin.
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Drawing;
    using System.Data;
    using System.Text;
    using System.Windows.Forms;
    
    namespace SmartClient
    {
      public partial class UserControl1 : UserControl
      {
        public UserControl1()
        {
          InitializeComponent();
        }
    
        String TestProperty = "something";
    
        void button2_Click(object sender, System.EventArgs e)
        {
          textBox1.Text = TestProperty;
        }
    
        void button1_Click(object sender, System.EventArgs e)
        {
          TestProperty = textBox1.Text;
        }
      }
    }
  15. Hata Ayıkla) menüsünde, hata ayıklama Başlat ' ı tıklatın.

    Not Herhangi bir düğmeyi tıklattıktan sonra "Belirtiler" bölümünde açıklanan sorun dikkat edin.
Bu makalede adı geçen üçüncü taraf ürünleri Microsoft'tan bağımsız şirketler tarafından üretilmektedir. Microsoft bu ürünlerin performans veya güvenilirliğiyle ilgili hiçbir garanti vermemektedir.

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft ASP.NET 2.0
Anahtar Kelimeler: 
kbmt kbtshoot kbprb KB911721 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:911721  (http://support.microsoft.com/kb/911721/en-us/ )
Retired KB ArticleKullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.