SynchronizationAttribute Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Geçerli bağlam ve aynı örneği paylaşan tüm bağlamlar için eşitleme etki alanını zorlar.
public ref class SynchronizationAttribute : System::Runtime::Remoting::Contexts::ContextAttribute, System::Runtime::Remoting::Contexts::IContributeClientContextSink, System::Runtime::Remoting::Contexts::IContributeServerContextSink
[System.AttributeUsage(System.AttributeTargets.Class)]
[System.Serializable]
public class SynchronizationAttribute : System.Runtime.Remoting.Contexts.ContextAttribute, System.Runtime.Remoting.Contexts.IContributeClientContextSink, System.Runtime.Remoting.Contexts.IContributeServerContextSink
[System.AttributeUsage(System.AttributeTargets.Class)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class SynchronizationAttribute : System.Runtime.Remoting.Contexts.ContextAttribute, System.Runtime.Remoting.Contexts.IContributeClientContextSink, System.Runtime.Remoting.Contexts.IContributeServerContextSink
[System.AttributeUsage(System.AttributeTargets.Class)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Security.SecurityCritical]
public class SynchronizationAttribute : System.Runtime.Remoting.Contexts.ContextAttribute, System.Runtime.Remoting.Contexts.IContributeClientContextSink, System.Runtime.Remoting.Contexts.IContributeServerContextSink
[<System.AttributeUsage(System.AttributeTargets.Class)>]
[<System.Serializable>]
type SynchronizationAttribute = class
inherit ContextAttribute
interface IContributeServerContextSink
interface IContributeClientContextSink
[<System.AttributeUsage(System.AttributeTargets.Class)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type SynchronizationAttribute = class
inherit ContextAttribute
interface IContributeServerContextSink
interface IContributeClientContextSink
[<System.AttributeUsage(System.AttributeTargets.Class)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Security.SecurityCritical>]
type SynchronizationAttribute = class
inherit ContextAttribute
interface IContributeServerContextSink
interface IContributeClientContextSink
[<System.AttributeUsage(System.AttributeTargets.Class)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type SynchronizationAttribute = class
inherit ContextAttribute
interface IContributeClientContextSink
interface IContributeServerContextSink
Public Class SynchronizationAttribute
Inherits ContextAttribute
Implements IContributeClientContextSink, IContributeServerContextSink
- Devralma
- Öznitelikler
- Uygulamalar
Örnekler
Aşağıdaki kod örneğinde kullanımı gösterilmektedir SynchronizationAttribute. Örnek kodun tamamı için sınıfın örneğine AsyncResult bakın.
// Context-bound type with the Synchronization context attribute.
[Synchronization]
public ref class SampleSynchronized: public ContextBoundObject
{
public:
// A method that does some work, and returns the square of the given number.
int Square( int i )
{
Console::Write( "The hash of the thread executing " );
Console::WriteLine( "SampleSynchronized::Square is: {0}", Thread::CurrentThread->GetHashCode() );
return i * i;
}
};
// Context-bound type with the Synchronization context attribute.
[Synchronization()]
public class SampleSynchronized : ContextBoundObject {
// A method that does some work, and returns the square of the given number.
public int Square(int i) {
Console.Write("The hash of the thread executing ");
Console.WriteLine("SampleSynchronized.Square is: {0}",
Thread.CurrentThread.GetHashCode());
return i*i;
}
}
' Context-bound type with the Synchronization context attribute.
<Synchronization()> Public Class SampleSynchronized
Inherits ContextBoundObject
' A method that does some work, and returns the square of the given number.
Public Function Square(i As Integer) As Integer
Console.Write("The hash of the thread executing ")
Console.WriteLine("SampleSynchronized.Square is: {0}", Thread.CurrentThread.GetHashCode())
Return i * i
End Function
End Class
Açıklamalar
Bu öznitelik bir nesneye uygulandığında, bu özelliğin bir örneğini paylaşan tüm bağlamlarda yalnızca bir iş parçacığı yürütülebilir. Bu, ilgili bağlamlar için gelen çağrıları kesen ve seri hale getiren havuzlara katkıda bulunarak gerçekleştirilir. Özellik yeniden girilmiş olarak işaretlenmişse, belirtme çizgisi de kesiliyor demektir. Belirtme çizgisi kesme işlemi, bekleyen diğer iş parçacıklarının en yüksek aktarım hızı için eşitleme etki alanına girmesini sağlar.
Not
adlı SynchronizationAttribute
iki sınıf vardır: biri ad alanında System.Runtime.Remoting.Contexts , diğeri ad alanında System.EnterpriseServices . System.EnterpriseServices.SynchronizationAttribute sınıfı yalnızca zaman uyumlu çağrıları destekler ve yalnızca hizmet edilen bileşenlerle kullanılabilir. hem System.Runtime.Remoting.Contexts.SynchronizationAttribute zaman uyumlu hem de zaman uyumsuz çağrıları destekler ve yalnızca bağlama bağlı nesnelerle kullanılabilir. (Bağlama bağlı nesneler hakkında daha fazla bilgi için sınıfına ContextBoundObject bakın.)
Not
Bu sınıf, sınıf düzeyinde bir bağlantı talebi ve devralma talebi oluşturur. Hemen SecurityException çağıranın veya türetilen sınıfın altyapı izni olmadığında oluşturulur. Güvenlik talepleri hakkında ayrıntılı bilgi için bkz. Talepleri ve Devralma Taleplerini Bağlama.
Oluşturucular
SynchronizationAttribute() |
SynchronizationAttribute sınıfının yeni bir örneğini varsayılan değerlerle başlatır. |
SynchronizationAttribute(Boolean) |
Yeniden girilmesi SynchronizationAttribute gerekip gerekmediğini belirten boole değeriyle sınıfının yeni bir örneğini başlatır. |
SynchronizationAttribute(Int32) |
Sınıfın SynchronizationAttribute yeni bir örneğini, bu özniteliğin uygulandığı nesnenin davranışını belirten bir bayrakla başlatır. |
SynchronizationAttribute(Int32, Boolean) |
Sınıfın SynchronizationAttribute yeni bir örneğini, bu özniteliğin uygulandığı nesnenin davranışını gösteren bir bayrak ve yeniden girilmesi gerekip gerekmediğini belirten bir Boole değeri ile başlatır. |
Alanlar
AttributeName |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. Bağlam özniteliğinin adını gösterir. (Devralındığı yer: ContextAttribute) |
NOT_SUPPORTED |
Bu özniteliğin uygulandığı sınıfın eşitlemesi olan bir bağlamda oluşturulamadığını gösterir. Bu alan sabittir. |
REQUIRED |
Bu özniteliğin uygulandığı sınıfın eşitlemesi olan bir bağlamda oluşturulması gerektiğini gösterir. Bu alan sabittir. |
REQUIRES_NEW |
Bu özniteliğin uygulandığı sınıfın her seferinde eşitleme özelliğinin yeni bir örneğiyle bir bağlamda oluşturulması gerektiğini gösterir. Bu alan sabittir. |
SUPPORTED |
Bu özniteliğin uygulandığı sınıfın, bağlamın eşitlemesi olup olmadığına bağlı olmadığını gösterir. Bu alan sabittir. |
Özellikler
IsReEntrant |
Yeniden girilmesi gerekip gerekmediğini belirten bir Boole değeri alır veya ayarlar. |
Locked |
Bu örneğini SynchronizationAttribute uygulayan öğesinin Context kilitli olup olmadığını belirten bir Boole değeri alır veya ayarlar. |
Name |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. Bağlam özniteliğinin adını alır. (Devralındığı yer: ContextAttribute) |
TypeId |
Türetilmiş bir sınıfta uygulandığında, bu Attributeiçin benzersiz bir tanımlayıcı alır. (Devralındığı yer: Attribute) |
Yöntemler
Equals(Object) |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. Bu örneğin belirtilen nesneye eşit olup olmadığını gösteren bir Boole değeri döndürür. (Devralındığı yer: ContextAttribute) |
Freeze(Context) |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. Bağlam dondurulmuşsa çağırılır. (Devralındığı yer: ContextAttribute) |
GetClientContextSink(IMessageSink) |
Bir CallOut havuzu oluşturur ve uzaktan iletişim çağrısının istemci ucundaki bağlam sınırında sağlanan havuz zincirinin önünde zincirler. |
GetHashCode() |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. Bu örneği için diyez kodunu döndürür ContextAttribute . (Devralındığı yer: ContextAttribute) |
GetPropertiesForNewContext(IConstructionCallMessage) |
|
GetServerContextSink(IMessageSink) |
Eşitlenmiş bir dağıtım havuzu oluşturur ve uzaktan iletişim çağrısının sunucu ucundaki bağlam sınırında sağlanan havuz zincirinin önünde zincirler. |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
IsContextOK(Context, IConstructionCallMessage) |
Bağlam parametresinin bağlam özniteliğinin gereksinimlerini karşılayıp karşılamadığını gösteren bir Boole değeri döndürür. |
IsDefaultAttribute() |
Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin değerinin türetilmiş sınıf için varsayılan değer olup olmadığını gösterir. (Devralındığı yer: Attribute) |
IsNewContextOK(Context) |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. Bağlam özelliğinin yeni bağlamla uyumlu olup olmadığını gösteren bir Boole değeri döndürür. (Devralındığı yer: ContextAttribute) |
Match(Object) |
Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür. (Devralındığı yer: Attribute) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |
Belirtik Arabirim Kullanımları
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler. (Devralındığı yer: Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Bir arabirimin tür bilgilerini almak için kullanılabilecek bir nesnenin tür bilgilerini alır. (Devralındığı yer: Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1). (Devralındığı yer: Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Bir nesne tarafından sunulan özelliklere ve yöntemlere erişim sağlar. (Devralındığı yer: Attribute) |