SoapExtension.GetInitializer 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.
Türetilmiş bir sınıfta geçersiz kılındığında, SOAP uzantısının xml web hizmeti yöntemine özgü verileri tek seferlik performans maliyetiyle başlatmasına izin verir.
Aşırı Yüklemeler
GetInitializer(Type) |
Türetilmiş bir sınıfta geçersiz kılındığında, SOAP uzantısının bir kerelik performans maliyetiyle XML Web hizmeti uygulayan bir sınıfa özgü verileri başlatmasına izin verir. |
GetInitializer(LogicalMethodInfo, SoapExtensionAttribute) |
Türetilmiş bir sınıfta geçersiz kılındığında, SOAP uzantısının XML Web hizmeti yöntemine bir kerelik performans maliyetiyle uygulanan bir özniteliği kullanarak XML Web hizmeti yöntemine özgü verileri başlatmasına izin verir. |
GetInitializer(Type)
Türetilmiş bir sınıfta geçersiz kılındığında, SOAP uzantısının bir kerelik performans maliyetiyle XML Web hizmeti uygulayan bir sınıfa özgü verileri başlatmasına izin verir.
public:
abstract System::Object ^ GetInitializer(Type ^ serviceType);
public abstract object GetInitializer (Type serviceType);
abstract member GetInitializer : Type -> obj
Public MustOverride Function GetInitializer (serviceType As Type) As Object
Parametreler
- serviceType
- Type
SOAP uzantısının uygulandığı XML Web hizmetini uygulayan sınıfın türü.
Döndürülenler
Object SOAP uzantısının önbelleğe almak için başlatmış olduğu.
Örnekler
Aşağıdaki kod, SOAP uzantısına özgü verileri XML Web hizmeti temelinde nasıl kaydedebileceğini gösterir. SOAP uzantısı öznitelik yerine yapılandırma dosyası kullanılarak yapılandırılırsa, SOAP uzantısı SOAP uzantısının uygulandığı her sınıf için verileri depolayabilir. Bu örnek, XML Web hizmeti yöntemine gönderilen ve bu yöntemden gönderilen SOAP iletilerinin önbelleğe XML Web hizmetini uygulayan sınıfın adına göre günlüğe kaydedildiği bir dosyanın adını kaydeder. Bu kod örneği, sınıfa genel bakış bölümünde bulunabilen TraceExtension SOAP uzantısı için tam kod örneğinin SoapExtension bir parçasıdır.
// The extension was configured to run using a configuration file instead of an attribute applied to a
// specific XML Web service method. Return a file name based on the class implementing the XML Web service's type.
public:
virtual Object^ GetInitializer( Type^ WebServiceType ) override
{
// Return a file name to log the trace information to based on the passed in type.
return String::Format( "C:\\{0}.log", WebServiceType->FullName );
}
// The extension was configured to run using a configuration file instead of an attribute applied to a
// specific XML Web service method. Return a file name based on the class implementing the XML Web service's type.
public override object GetInitializer(Type WebServiceType)
{
// Return a file name to log the trace information to based on the passed in type.
return "C:\\" + WebServiceType.FullName + ".log";
}
' The extension was configured to run using a configuration file instead of an attribute applied to a
' specific XML Web service method. Return a file name based on the class implementing the XML Web service's type.
Public Overloads Overrides Function GetInitializer(WebServiceType As Type) As Object
' Return a file name to log the trace information to based on the passed in type.
Return "C:\" + WebServiceType.FullName + ".log"
End Function
Açıklamalar
bunun ASP.NET tarafından çağrılan aşırı yüklemesi GetInitializer , SOAP uzantısının nasıl belirtildiğine bağlıdır. SOAP uzantısı belirtmek için iki yöntem vardır:
tek tek XML Web hizmeti yöntemine öğesinden SoapExtensionAttributetüretilen özel bir öznitelik uygulayın.
web.config veya app.config yapılandırma dosyalarına başvuru ekleyin.
Yapılandırma dosyalarından birine başvuru eklerseniz, SOAP uzantısı bu yapılandırma dosyası kapsamındaki tüm XML Web hizmetleri için çalışır. belirtirken, yapılandırma dosyasına başvurarak bir SOAP uzantısı ASP.NET bir Typeiçinde geçen aşırı yüklemeyi çağırırGetInitializer. Özel bir öznitelik uygulayarak bir uzantı belirtirken, ASP.NET ve SoapExtensionAttributeiçinde LogicalMethodInfo geçen öğesini çağırırGetInitializer.
Yapılandırma dosyasına SOAP uzantıları ekleme hakkında ayrıntılı bilgi için bkz. ASP.NET Kullanılarak Oluşturulan XML Web Hizmetleri için Yapılandırma Seçenekleri.
Şunlara uygulanır
GetInitializer(LogicalMethodInfo, SoapExtensionAttribute)
Türetilmiş bir sınıfta geçersiz kılındığında, SOAP uzantısının XML Web hizmeti yöntemine bir kerelik performans maliyetiyle uygulanan bir özniteliği kullanarak XML Web hizmeti yöntemine özgü verileri başlatmasına izin verir.
public:
abstract System::Object ^ GetInitializer(System::Web::Services::Protocols::LogicalMethodInfo ^ methodInfo, System::Web::Services::Protocols::SoapExtensionAttribute ^ attribute);
public abstract object GetInitializer (System.Web.Services.Protocols.LogicalMethodInfo methodInfo, System.Web.Services.Protocols.SoapExtensionAttribute attribute);
abstract member GetInitializer : System.Web.Services.Protocols.LogicalMethodInfo * System.Web.Services.Protocols.SoapExtensionAttribute -> obj
Public MustOverride Function GetInitializer (methodInfo As LogicalMethodInfo, attribute As SoapExtensionAttribute) As Object
Parametreler
- methodInfo
- LogicalMethodInfo
LogicalMethodInfo SOAP uzantısının uygulandığı XML Web hizmeti yöntemi için belirli işlev prototipini temsil eden.
- attribute
- SoapExtensionAttribute
SoapExtensionAttribute XML Web hizmeti yöntemine uygulanır.
Döndürülenler
Object SOAP uzantısının önbelleğe almak için başlatmış olduğu.
Örnekler
Aşağıdaki kod, öğesinden SoapExtensionAttributetüretilen bir sınıf kullanarak geçirilen SOAP uzantısına özgü verileri nasıl edinebileceğinizi ve ardından bu verileri içinde GetInitializernasıl önbelleğe alabileceğinizi gösterir. Bu kod örneği, sınıfa genel bakış bölümünde bulunabilen bir TraceExtension
SOAP uzantısı için tam kod örneğinin SoapExtension bir parçasıdır. Bu kod örneği, parametresine geçirilen bir TraceExtensionAttribute
değere attribute
dayanır. Tam kod örneğinde, TraceExtensionAttribute
önbellekte depolayan GetInitializer bir Filename
özelliği türetilir SoapExtensionAttribute ve ekler.
public:
// When the SOAP extension is accessed for the first time, cache the
// file name passed in by the SoapExtensionAttribute.
virtual Object^ GetInitializer( LogicalMethodInfo^ /*methodInfo*/, SoapExtensionAttribute^ attribute ) override
{
return (dynamic_cast<TraceExtensionAttribute^>(attribute))->Filename;
}
// When the SOAP extension is accessed for the first time, cache the
// file name passed in by the SoapExtensionAttribute.
public override object GetInitializer(LogicalMethodInfo methodInfo,
SoapExtensionAttribute attribute)
{
return ((TraceExtensionAttribute) attribute).Filename;
}
' When the SOAP extension is accessed for the first time,
' cache the file name passed in by the SoapExtensionAttribute.
Public Overloads Overrides Function GetInitializer( _
methodInfo As LogicalMethodInfo, _
attribute As SoapExtensionAttribute) As Object
Return CType(attribute, TraceExtensionAttribute).Filename
End Function
Açıklamalar
SOAP uzantısı bir yapılandırma dosyası kullanılarak yapılandırıldıysa, kabul eden Typeaşırı yüklemeye bakınGetInitializer.
SOAP uzantısının verileri başlatmak için üç fırsatı vardır ve hepsinin farklı amaçları vardır:
Sınıf oluşturucu - Sınıf oluşturucu, BIR SOAP uzantısının örneği her başlatıldığında çağrılır ve genellikle üye değişkenlerini başlatmak için kullanılır.
GetInitializer - GetInitializerancak, bir XML Web hizmetleri yöntemine ilk kez SOAP isteği yapıldığında yalnızca bir kez çağrılır. XML Web hizmeti yöntemine özel bir öznitelik uygulanırsa, GetInitializer yöntemi çağrılır. Bu, SOAP uzantısının prototip bilgileri için bir XML Web hizmeti yöntemini sorgulamasına LogicalMethodInfo veya öğesinden SoapExtensionAttributetüretilen bir sınıf tarafından geçirilen uzantıya özgü verilere erişmesine olanak tanır. Dönüş değeri ASP.NET tarafından önbelleğe alınır ve sonraki Initialize yöntemlere geçirilir. Bu nedenle, içinde GetInitializer yapılan başlatma temelde tek seferlik bir performans isabeti olarak kapsüllenir.
Initialize - Initialize, bir XML Web hizmeti yöntemine her SOAP isteği yapıldığında çağrılır, ancak içinde başlatılanın GetInitializer bu yönteme geçirilmesinde sınıf oluşturucusunun Object avantajına sahiptir.
Ayrıca bkz.
Şunlara uygulanır
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin