RemotingServices.Unmarshal Yöntem
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.
Verileni ObjRef ara sunucu nesnesine dönüştürür.
Aşırı Yüklemeler
Unmarshal(ObjRef) |
bir ObjRef alır ve bunun içinden bir proxy nesnesi oluşturur. |
Unmarshal(ObjRef, Boolean) |
bir ObjRef alır ve bunun dışında bir proxy nesnesi oluşturur ve bunu sunucudaki türe göre iyiler. |
Unmarshal(ObjRef)
bir ObjRef alır ve bunun içinden bir proxy nesnesi oluşturur.
public:
static System::Object ^ Unmarshal(System::Runtime::Remoting::ObjRef ^ objectRef);
public static object Unmarshal (System.Runtime.Remoting.ObjRef objectRef);
[System.Security.SecurityCritical]
public static object Unmarshal (System.Runtime.Remoting.ObjRef objectRef);
static member Unmarshal : System.Runtime.Remoting.ObjRef -> obj
[<System.Security.SecurityCritical>]
static member Unmarshal : System.Runtime.Remoting.ObjRef -> obj
Public Shared Function Unmarshal (objectRef As ObjRef) As Object
Parametreler
Döndürülenler
Verilen ObjRef nesnenin temsil ettiği bir ara sunucu.
- Öznitelikler
Özel durumlar
ObjRef parametresinde objectRef
belirtilen örnek iyi biçimlendirilmemiş.
Çağrı yığınında daha yüksek arayanlardan en az birinin uzaktan iletişim türlerini ve kanallarını yapılandırma izni yoktur.
Örnekler
Aşağıdaki kod örneği, bir nesnenin özetini kaldırma işlemini gösterir.
ChannelServices::RegisterChannel( gcnew HttpChannel );
SampleService ^ objectSample = (SampleService^)( Activator::GetObject( SampleService::typeid,
"http://localhost:9000/MySampleService/SampleService.soap" ) );
// The GetManuallyMarshaledObject() method uses RemotingServices::Marshal()
// to create an ObjRef object for a SampleTwo object.
ObjRef^ objRefSampleTwo = objectSample->GetManuallyMarshaledObject();
SampleTwo ^ objectSampleTwo = (SampleTwo^)( RemotingServices::Unmarshal( objRefSampleTwo ) );
objectSampleTwo->PrintMessage( "ObjRef successfuly unmarshaled." );
ChannelServices.RegisterChannel(new HttpChannel());
SampleService objectSample = (SampleService)Activator.GetObject(typeof(SampleService),
"http://localhost:9000/MySampleService/SampleService.soap");
// The GetManuallyMarshaledObject() method uses RemotingServices.Marshal()
// to create an ObjRef object for a SampleTwo object.
ObjRef objRefSampleTwo = objectSample.GetManuallyMarshaledObject();
SampleTwo objectSampleTwo = (SampleTwo)RemotingServices.Unmarshal(objRefSampleTwo);
objectSampleTwo.PrintMessage("ObjRef successfuly unmarshaled.");
ChannelServices.RegisterChannel(New HttpChannel())
Dim objectSample As SampleService = CType(Activator.GetObject(GetType(SampleService), _
"http://localhost:9000/MySampleService/SampleService.soap"), SampleService)
' The GetManuallyMarshaledObject() method uses RemotingServices.Marshal()
' to create an ObjRef object for a SampleTwo object.
Dim objRefSampleTwo As ObjRef = objectSample.GetManuallyMarshaledObject()
Dim objectSampleTwo As SampleTwo = CType(RemotingServices.Unmarshal(objRefSampleTwo), SampleTwo)
objectSampleTwo.PrintMessage("I successfully unmarshaled your ObjRef. Thanks.")
Açıklamalar
A ObjRef , bir nesne başvurusunu bir uygulama etki alanı sınırına aktarmak için kullanılan bir nesnenin serileştirilebilir bir gösterimidir. Bir nesne için oluşturma ObjRef , hazırlama olarak bilinir. ObjRef bir kanal aracılığıyla başka bir uygulama etki alanına (büyük olasılıkla başka bir işlemde veya bilgisayarda) aktarılabilir. Diğer uygulama etki alanına girdikten sonra, ObjRef nesne için genellikle gerçek nesneye bağlı bir ara sunucu oluşturmak için öğesinin ayrıştırılması gerekir. Bu işlem, özetleme olarak bilinir. Özetleme sırasında, ObjRef uzak nesnenin yöntem bilgilerini ayıklamak için ayrıştırılır ve hem saydam ara sunucu hem RealProxy de nesneler oluşturulur. Saydam ara sunucu ortak dil çalışma zamanına kaydedilmeden önce ayrıştırılanın ObjRef içeriği saydam ara sunucuya eklenir.
, ObjRef sıralanan nesnenin Type ve sınıfını açıklayan bilgileri, belirli nesne örneğini benzersiz olarak tanımlayan bir URI'yi ve nesnenin bulunduğu uzaktan iletişim alt bölümüne nasıl ulaşıldığı hakkında iletişimle ilgili bilgileri içerir.
Ayrıca bkz.
Şunlara uygulanır
Unmarshal(ObjRef, Boolean)
bir ObjRef alır ve bunun dışında bir proxy nesnesi oluşturur ve bunu sunucudaki türe göre iyiler.
public:
static System::Object ^ Unmarshal(System::Runtime::Remoting::ObjRef ^ objectRef, bool fRefine);
public static object Unmarshal (System.Runtime.Remoting.ObjRef objectRef, bool fRefine);
[System.Security.SecurityCritical]
public static object Unmarshal (System.Runtime.Remoting.ObjRef objectRef, bool fRefine);
static member Unmarshal : System.Runtime.Remoting.ObjRef * bool -> obj
[<System.Security.SecurityCritical>]
static member Unmarshal : System.Runtime.Remoting.ObjRef * bool -> obj
Public Shared Function Unmarshal (objectRef As ObjRef, fRefine As Boolean) As Object
Parametreler
- fRefine
- Boolean
true
proxy'yi sunucudaki türe daraltmak için; aksi takdirde , false
.
Döndürülenler
Verilen ObjRef nesnenin temsil ettiği bir ara sunucu.
- Öznitelikler
Özel durumlar
ObjRef parametresinde objectRef
belirtilen örnek iyi biçimlendirilmemiş.
Çağrı yığınında daha yüksek arayanlardan en az birinin uzaktan iletişim türlerini ve kanallarını yapılandırma izni yoktur.
Açıklamalar
A ObjRef , bir nesne başvurusunu bir uygulama etki alanı sınırına aktarmak için kullanılan bir nesnenin serileştirilebilir bir gösterimidir. Bir nesne için oluşturma ObjRef , hazırlama olarak bilinir. ObjRef bir kanal aracılığıyla başka bir uygulama etki alanına (büyük olasılıkla başka bir işlemde veya bilgisayarda) aktarılabilir. Diğer uygulama etki alanına girdikten sonra, ObjRef nesne için genellikle gerçek nesneye bağlı bir ara sunucu oluşturmak için öğesinin ayrıştırılması gerekir. Bu işlem, özetleme olarak bilinir. Özetleme sırasında, ObjRef uzak nesnenin yöntem bilgilerini ayıklamak için ayrıştırılır ve hem saydam ara sunucu hem RealProxy de nesneler oluşturulur. Saydam ara sunucu ortak dil çalışma zamanına kaydedilmeden önce ayrıştırılanın ObjRef içeriği saydam ara sunucuya eklenir.
, ObjRef sıralanan nesnenin Type ve sınıfını açıklayan bilgileri, belirli nesne örneğini benzersiz olarak tanımlayan bir URI'yi ve nesnenin bulunduğu uzaktan iletişim alt bölümüne nasıl ulaşıldığı hakkında iletişimle ilgili bilgileri içerir.
İlk oluşturulduğunda ara sunucu türündedir MarshalByRefObject. Siz bunu farklı türlere dönüştürdürürken uzaktan iletişim altyapısı, türü gereksiz yere yüklememek için en çok kullanılan türü izler.