SynchronizationAttribute Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
A szinkronizálási tartomány kényszerítése az aktuális környezethez és az azonos példányt használó összes környezethez.
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
Public Class SynchronizationAttribute
Inherits ContextAttribute
Implements IContributeClientContextSink, IContributeServerContextSink
- Öröklődés
- Attribútumok
- Megvalósítás
Példák
Az alábbi példakód bemutatja a .SynchronizationAttribute A teljes példakódért tekintse meg az osztály példáját AsyncResult .
// 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
Megjegyzések
Ha ezt az attribútumot egy objektumra alkalmazza, csak egy szál hajtható végre minden olyan környezetben, amely a tulajdonság egy példányát osztja meg. Ez olyan fogadók közreműködésével történik, amelyek a megfelelő környezetek bejövő hívásait elfogják és szerializálják. Ha a tulajdonság újrapróbálkozásra van megjelölve, akkor a rendszer a feliratokat is elfogja. A híváskifogás lehetővé teszi, hogy más várakozó szálak a maximális átviteli sebesség érdekében belépjenek a szinkronizálási tartományba.
Note
Két osztály neve SynchronizationAttribute van: az egyik a System.Runtime.Remoting.Contexts névtérben, a másik a System.EnterpriseServices névtérben. Az System.EnterpriseServices.SynchronizationAttribute osztály csak szinkron hívásokat támogat, és csak a szervizelt összetevőkkel használható. A System.Runtime.Remoting.Contexts.SynchronizationAttribute szinkron és az aszinkron hívásokat is támogatja, és csak környezethez kötött objektumokkal használható. (A környezethez kötött objektumokról további információt az ContextBoundObject osztályban talál.)
Note
Ez az osztály az osztály szintjén hoz létre kapcsolati és öröklési szükségletet. Az A SecurityException akkor jön létre, ha az azonnali hívó vagy a származtatott osztály nem rendelkezik infrastruktúra-engedéllyel. A biztonsági követelményekkel kapcsolatos részletekért tekintse meg az Igények csatolása és az Öröklési igényekhivatkozása című témakört.
Konstruktorok
| Name | Description |
|---|---|
| SynchronizationAttribute() |
Inicializálja az osztály új példányát alapértelmezett SynchronizationAttribute értékekkel. |
| SynchronizationAttribute(Boolean) |
Inicializálja az SynchronizationAttribute osztály új példányát logikai értékkel, amely jelzi, hogy szükség van-e újrapróbálkozásra. |
| SynchronizationAttribute(Int32, Boolean) |
Inicializálja az SynchronizationAttribute osztály új példányát egy jelölővel, amely annak az objektumnak a viselkedését jelzi, amelyre ezt az attribútumot alkalmazza, valamint egy logikai értéket, amely jelzi, hogy szükség van-e újrapróbálkozásokra. |
| SynchronizationAttribute(Int32) |
Inicializálja az SynchronizationAttribute osztály új példányát egy jelölővel, amely annak az objektumnak a viselkedését jelzi, amelyre ezt az attribútumot alkalmazza. |
Mezők
| Name | Description |
|---|---|
| AttributeName |
Ez az API a termékinfrastruktúrát támogatja, és közvetlenül a kódból nem használható. A környezeti attribútum nevét jelzi. (Öröklődés forrása ContextAttribute) |
| NOT_SUPPORTED |
Azt jelzi, hogy az az osztály, amelyre ezt az attribútumot alkalmazza, nem hozható létre szinkronizálással rendelkező környezetben. Ez a mező állandó. |
| REQUIRED |
Azt jelzi, hogy az attribútumot alkalmazó osztályt szinkronizálással rendelkező környezetben kell létrehozni. Ez a mező állandó. |
| REQUIRES_NEW |
Azt jelzi, hogy az attribútumot alkalmazó osztályt minden alkalommal létre kell hozni a szinkronizálási tulajdonság új példányával rendelkező környezetben. Ez a mező állandó. |
| SUPPORTED |
Azt jelzi, hogy az az osztály, amelyre ezt az attribútumot alkalmazza, nem függ attól, hogy a környezet szinkronizálással rendelkezik-e. Ez a mező állandó. |
Tulajdonságok
| Name | Description |
|---|---|
| IsReEntrant |
Logikai értéket kap vagy állít be, amely jelzi, hogy szükség van-e újrapróbálkozási lehetőségre. |
| Locked |
Logikai értéket kap vagy állít be, amely jelzi, hogy a Context példány SynchronizationAttribute implementálása zárolva van-e. |
| Name |
Ez az API a termékinfrastruktúrát támogatja, és közvetlenül a kódból nem használható. Lekéri a környezeti attribútum nevét. (Öröklődés forrása ContextAttribute) |
| TypeId |
Ha származtatott osztályban implementálják, ehhez egy egyedi azonosítót Attributekap. (Öröklődés forrása Attribute) |
Metódusok
| Name | Description |
|---|---|
| Equals(Object) |
Ez az API a termékinfrastruktúrát támogatja, és közvetlenül a kódból nem használható. Logikai értéket ad vissza, amely jelzi, hogy ez a példány egyenlő-e a megadott objektummal. (Öröklődés forrása ContextAttribute) |
| Freeze(Context) |
Ez az API a termékinfrastruktúrát támogatja, és közvetlenül a kódból nem használható. Akkor hívjuk meg, ha a környezet le van fagyasztva. (Öröklődés forrása ContextAttribute) |
| GetClientContextSink(IMessageSink) |
Létrehoz egy CallOut-fogadót, és a fogadók megadott lánca elé láncolást hoz létre az újraküldéses hívás ügyfélvégén lévő környezethatáron. |
| GetHashCode() |
Ez az API a termékinfrastruktúrát támogatja, és közvetlenül a kódból nem használható. A példány kivonatkódját ContextAttributeadja vissza. (Öröklődés forrása ContextAttribute) |
| GetPropertiesForNewContext(IConstructionCallMessage) |
Hozzáadja a |
| GetServerContextSink(IMessageSink) |
Létrehoz egy szinkronizált kézbesítő fogadót, és egy újraküldési hívás kiszolgálóvégén lévő környezethatáron belül a megadott fogadólánc elé láncozza. |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| IsContextOK(Context, IConstructionCallMessage) |
Logikai értéket ad vissza, amely jelzi, hogy a környezeti paraméter megfelel-e a környezeti attribútum követelményeinek. |
| IsDefaultAttribute() |
Ha egy származtatott osztályban felül van bírálva, azt jelzi, hogy a példány értéke-e a származtatott osztály alapértelmezett értéke. (Öröklődés forrása Attribute) |
| IsNewContextOK(Context) |
Ez az API a termékinfrastruktúrát támogatja, és közvetlenül a kódból nem használható. Logikai értéket ad vissza, amely jelzi, hogy a környezeti tulajdonság kompatibilis-e az új környezettel. (Öröklődés forrása ContextAttribute) |
| Match(Object) |
Származtatott osztály felülírásakor egy olyan értéket ad vissza, amely jelzi, hogy ez a példány egy adott objektummal egyenlő-e. (Öröklődés forrása Attribute) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |
Explicit interfész-implementációk
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Névkészletet képez le a küldési azonosítók megfelelő készletére. (Öröklődés forrása Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Lekéri egy objektum típusadatait, amelyek a felület típusadatainak lekérésére használhatók. (Öröklődés forrása Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Lekéri az objektumok által biztosított típusinformációs felületek számát (0 vagy 1). (Öröklődés forrása Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Hozzáférést biztosít az objektumok által közzétett tulajdonságokhoz és metódusokhoz. (Öröklődés forrása Attribute) |