ContractHandle 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.
Bir eklentinin ömrünü denetleyebilen yöntemler sağlar.
public ref class ContractHandle : IDisposable
public class ContractHandle : IDisposable
type ContractHandle = class
interface IDisposable
Public Class ContractHandle
Implements IDisposable
- Devralma
-
ContractHandle
- Uygulamalar
Örnekler
Aşağıdaki örnekte, işlem hattının eklenti tarafındaki sözleşmeden görünüme bağdaştırıcısında yaşam süresi belirteci tanıtıcısının nasıl ayarlanacağı gösterilmektedir.
private CalculatorContracts.ICalc2Contract _contract;
private System.AddIn.Pipeline.ContractHandle _handle;
public CalculatorContractToViewHostAdapter(ICalc2Contract contract) {
_contract = contract;
_handle = new System.AddIn.Pipeline.ContractHandle(contract);
}
Private _contract As ICalc2Contract
Private _handle As ContractHandle
Public Sub New(ByVal contract As ICalc2Contract)
_contract = contract
_handle = New ContractHandle(contract)
End Sub
Açıklamalar
Eklenti modeli, eklentilerin uygulama etki alanları ve işlemler arasında iletişim kurmasına olanak sağladığından, bunları geri kazanmak için çöp toplayıcıya güvenemez. Bu sınıf, sözleşmesi için bir yaşam süresi belirteci alarak eklenti için bir başvuru sayma mekanizması sağlar.
Bir ContractHandle nesne oluşturulduğunda, oluşturucuya AcquireLifetimeToken geçirilen sözleşmede yöntemini çağırır. ContractHandle Nesne atıldığında veya son haline getirildiğinde, sözleşmedeki RevokeLifetimeToken askıya alma işlemini kaldıran yöntemini çağırır.
Bağdaştırıcılar sözleşmeyi uygular. ContractHandle sınıfı, işlem hattı geliştiricilerinin uyarlanan sözleşmenin kullanım ömrünü yönetmesine yardımcı olmak için sözleşmeden görünüme bağdaştırıcısında kullanılmak üzere tasarlanmıştır. Genellikle, bu sınıfın bir örneği bağdaştırıcı sınıfının oluşturulması sırasında örneği oluşturulur ve bağdaştırıcının örnek alanında depolanır. Bağdaştırıcı sınıfı atık olarak toplandığında, ContractHandle nesnesi de toplanır ve ContractHandle nesne sözleşmedeki yaşam süresi belirtecini iptal eder.
Görünümden sözleşmeye bağdaştırıcılarınızın sınıfından devralmalarını ContractBase öneririz. Ardından, üyeleri IContractiçin varsayılan bir uygulama kullanabilirsiniz. Bu, yalnızca kendi sözleşmenizin üyelerini uygulamanız gerektiği anlamına gelir.
Oluşturucular
ContractHandle(IContract) |
ContractHandle sınıfının yeni bir örneğini başlatır. |
Özellikler
Contract |
İşlem hattı tarafından kullanılan sözleşmeyi alır. |
Yöntemler
AppDomainOwner(AppDomain) |
Uygulama etki alanı oluşturulduğunda eklenti yan bağdaştırıcısının örneğini alır. |
ContractOwnsAppDomain(IContract, AppDomain) |
Bir uygulama etki alanının belirtilen sözleşmeye ait olup olmadığını belirler. |
Dispose() |
Girişe bakılmaksızın sözleşmedeki yaşam süresi belirtecini iptal eder. |
Dispose(Boolean) |
Girişe bakılmaksızın sözleşmedeki yaşam süresi belirtecini iptal eder ve isteğe bağlı olarak yönetilen kaynakları serbest bırakır. |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
Finalize() |
Örnekle ContractHandle ilişkili kaynakları serbest bırakır. |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
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) |