ApplicationManager.CreateObject Metode

Definisi

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.

appHost adalah null.

-atau-

type adalah null.

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.

appID adalah null.

-atau-

type adalah null.

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.

appID adalah null.

-atau-

type adalah null.

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.

Berlaku untuk