ApplicationManager.CreateObject Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Membuat objek untuk domain aplikasi dan jenis objek yang ditentukan.
Overload
| Nama | Deskripsi |
|---|---|
| CreateObject(IApplicationHost, Type) |
Membuat objek untuk domain aplikasi yang ditentukan, berdasarkan jenis. |
| CreateObject(String, Type, String, String, Boolean) |
Membuat objek untuk domain aplikasi yang ditentukan berdasarkan jenis, jalur virtual dan fisik, dan nilai Boolean yang menunjukkan perilaku kegagalan ketika objek dari jenis yang ditentukan sudah ada. |
| CreateObject(String, Type, String, String, Boolean, Boolean) |
Membuat objek untuk domain aplikasi yang ditentukan berdasarkan jenis, jalur virtual dan fisik, nilai Boolean yang menunjukkan perilaku kegagalan ketika objek dari jenis yang ditentukan sudah ada, dan nilai Boolean yang menunjukkan apakah pengecualian kesalahan inisialisasi hosting dilemparkan. |
CreateObject(IApplicationHost, Type)
Membuat objek untuk domain aplikasi yang ditentukan, berdasarkan jenis.
public:
System::Web::Hosting::IRegisteredObject ^ CreateObject(System::Web::Hosting::IApplicationHost ^ appHost, Type ^ type);
public System.Web.Hosting.IRegisteredObject CreateObject(System.Web.Hosting.IApplicationHost appHost, Type type);
member this.CreateObject : System.Web.Hosting.IApplicationHost * Type -> System.Web.Hosting.IRegisteredObject
Public Function CreateObject (appHost As IApplicationHost, type As Type) As IRegisteredObject
Parameter
- appHost
- IApplicationHost
Sebuah objekIApplicationHost.
- type
- Type
Jenis objek yang akan dibuat.
Mengembalikan
Objek baru dari jenis yang ditentukan dalam type.
Pengecualian
Jalur fisik untuk aplikasi tidak ada.
Keterangan
CreateObject diperkenalkan dalam .NET Framework versi 3.5. Untuk informasi selengkapnya, lihat Versi dan Dependensi.
Berlaku untuk
CreateObject(String, Type, String, String, Boolean)
Membuat objek untuk domain aplikasi yang ditentukan berdasarkan jenis, jalur virtual dan fisik, dan nilai Boolean yang menunjukkan perilaku kegagalan ketika objek dari jenis yang ditentukan sudah ada.
public:
System::Web::Hosting::IRegisteredObject ^ CreateObject(System::String ^ appId, Type ^ type, System::String ^ virtualPath, System::String ^ physicalPath, bool failIfExists);
public System.Web.Hosting.IRegisteredObject CreateObject(string appId, Type type, string virtualPath, string physicalPath, bool failIfExists);
member this.CreateObject : string * Type * string * string * bool -> System.Web.Hosting.IRegisteredObject
Public Function CreateObject (appId As String, type As Type, virtualPath As String, physicalPath As String, failIfExists As Boolean) As IRegisteredObject
Parameter
- appId
- String
Pengidentifikasi unik untuk aplikasi yang memiliki objek .
- type
- Type
Jenis objek yang akan dibuat.
- virtualPath
- String
Jalur virtual ke aplikasi.
- physicalPath
- String
Jalur fisik ke aplikasi.
- failIfExists
- Boolean
true untuk melemparkan pengecualian jika objek dari jenis yang ditentukan saat ini terdaftar; false untuk mengembalikan objek terdaftar yang ada dari jenis yang ditentukan.
Mengembalikan
Objek baru dari yang ditentukan type.
Pengecualian
physicalPath adalah null
-atau-
physicalPath bukan jalur aplikasi yang valid.
-atau-
type tidak mengimplementasikan IRegisteredObject antarmuka.
failIfExists adalah true dan objek dari jenis yang ditentukan sudah terdaftar.
Contoh
Contoh kode berikut adalah implementasi pola desain pabrik objek untuk objek terdaftar. Menggunakan pola pabrik memungkinkan Anda mendaftarkan beberapa instans objek. Contohnya berisi dua objek: SampleComponent, yang merupakan objek tempat aplikasi akan menggunakan beberapa instans, dan SampleComponentFactory, yang mengelola daftar SampleComponent instans.
using System.Web.Hosting;
public class SampleComponentFactory : IRegisteredObject
{
private ArrayList components = new ArrayList();
public void Start()
{
HostingEnvironment.RegisterObject(this);
}
void IRegisteredObject.Stop(bool immediate)
{
foreach (SampleComponent c in components)
{
((IRegisteredObject)c).Stop(immediate);
}
HostingEnvironment.UnregisterObject(this);
}
public SampleComponent CreateComponent()
{
SampleComponent newComponent = new SampleComponent();
newComponent.Initialize();
components.Add(newComponent);
return newComponent;
}
}
public class SampleComponent : IRegisteredObject
{
void IRegisteredObject.Stop(bool immediate)
{
// Clean up component resources here.
}
public void Initialize()
{
// Initialize component here.
}
}
Imports System.Web.Hosting
Public Class SampleComponentFactory
Implements IRegisteredObject
Dim components As ArrayList = New ArrayList()
Public Sub Start()
HostingEnvironment.RegisterObject(Me)
End Sub
Public Sub [Stop](ByVal immediate As Boolean) Implements System.Web.Hosting.IRegisteredObject.Stop
For Each c As SampleComponent In components
CType(c, IRegisteredObject).Stop(immediate)
Next
HostingEnvironment.UnregisterObject(Me)
End Sub
Public Function CreateComponent() As SampleComponent
Dim newComponent As SampleComponent
newComponent = New SampleComponent
newComponent.Initialize()
components.Add(newComponent)
Return newComponent
End Function
End Class
Public Class SampleComponent
Implements IRegisteredObject
Sub [Stop](ByVal immediate As Boolean) Implements System.Web.Hosting.IRegisteredObject.Stop
' Clean up component resources here.
End Sub
Public Sub Initialize()
' Initialize component here.
End Sub
End Class
Keterangan
Metode CreateObject ini digunakan untuk membuat dan mendaftarkan objek dalam aplikasi. Hanya satu objek dari setiap jenis yang dapat dibuat. Jika Anda perlu membuat beberapa objek dengan jenis yang sama, Anda harus menerapkan pabrik objek. Untuk informasi selengkapnya, lihat contoh kode dalam topik ini.
Setiap aplikasi, yang diidentifikasi oleh pengidentifikasi aplikasi unik, berjalan di domain aplikasinya sendiri. Metode ini CreateObject membuat objek dari jenis yang ditentukan di domain aplikasi aplikasi yang ditentukan dalam appID parameter . Jika domain aplikasi tidak ada untuk aplikasi yang ditentukan, domain dibuat sebelum objek dibuat.
Parameter failIfExists mengontrol perilaku CreateObject metode ketika objek dari jenis yang ditentukan sudah ada dalam aplikasi. Kapan failIfExists adalah true, CreateObject metode melemparkan InvalidOperationException pengecualian.
Ketika failIfExists adalah false, CreateObject metode mengembalikan objek terdaftar yang ada dari jenis yang ditentukan.
Metode ini CreateObject memanggil kelebihan beban yang mengambil parameter tambahan throwOnError dengan throwOnError diatur ke false.
Berlaku untuk
CreateObject(String, Type, String, String, Boolean, Boolean)
Membuat objek untuk domain aplikasi yang ditentukan berdasarkan jenis, jalur virtual dan fisik, nilai Boolean yang menunjukkan perilaku kegagalan ketika objek dari jenis yang ditentukan sudah ada, dan nilai Boolean yang menunjukkan apakah pengecualian kesalahan inisialisasi hosting dilemparkan.
public:
System::Web::Hosting::IRegisteredObject ^ CreateObject(System::String ^ appId, Type ^ type, System::String ^ virtualPath, System::String ^ physicalPath, bool failIfExists, bool throwOnError);
public System.Web.Hosting.IRegisteredObject CreateObject(string appId, Type type, string virtualPath, string physicalPath, bool failIfExists, bool throwOnError);
member this.CreateObject : string * Type * string * string * bool * bool -> System.Web.Hosting.IRegisteredObject
Public Function CreateObject (appId As String, type As Type, virtualPath As String, physicalPath As String, failIfExists As Boolean, throwOnError As Boolean) As IRegisteredObject
Parameter
- appId
- String
Pengidentifikasi unik untuk aplikasi yang memiliki objek .
- type
- Type
Jenis objek yang akan dibuat.
- virtualPath
- String
Jalur virtual ke aplikasi.
- physicalPath
- String
Jalur fisik ke aplikasi.
- failIfExists
- Boolean
true untuk melemparkan pengecualian jika objek dari jenis yang ditentukan saat ini terdaftar; false untuk mengembalikan objek terdaftar yang ada dari jenis yang ditentukan.
- throwOnError
- Boolean
true untuk melemparkan pengecualian untuk kesalahan inisialisasi hosting; false untuk tidak melemparkan pengecualian inisialisasi hosting.
Mengembalikan
Objek baru dari yang ditentukan type.
Pengecualian
physicalPath adalah null
-atau-
physicalPath bukan jalur aplikasi yang valid.
-atau-
type tidak mengimplementasikan IRegisteredObject antarmuka.
failIfExists adalah true dan objek dari jenis yang ditentukan sudah terdaftar.
Keterangan
Kelebihan metode CreateObject ini menyediakan throwOnError parameter, yang memungkinkan Anda mengontrol apakah pengecualian inisialisasi hosting dilemparkan. Kelebihan beban CreateObject metode yang tidak memberikan throwOnError panggilan kelebihan beban ini dengan parameter diatur ke false.