Bagikan melalui


Grain Kelas

Definisi

Kelas dasar abstrak untuk semua kelas biji-bijian.

public abstract class Grain : Orleans.Runtime.IAddressable
public abstract class Grain : Orleans.ILifecycleParticipant<Orleans.Runtime.IGrainLifecycle>, Orleans.Runtime.IAddressable
public abstract class Grain : Orleans.IGrainBase, Orleans.Runtime.IAddressable
type Grain = class
    interface IAddressable
type Grain = class
    interface IAddressable
    interface ILifecycleParticipant<IGrainLifecycle>
type Grain = class
    interface IGrainBase
    interface IAddressable
Public MustInherit Class Grain
Implements IAddressable
Public MustInherit Class Grain
Implements IAddressable, ILifecycleParticipant(Of IGrainLifecycle)
Public MustInherit Class Grain
Implements IAddressable, IGrainBase
Warisan
Grain
Turunan
Penerapan

Konstruktor

Grain()

Konstruktor ini tidak boleh dipanggil. Kami mengeksposnya sehingga kode klien (subkelas Grain) tidak perlu menambahkan konstruktor. Kode klien harus menggunakan properti GrainFactory untuk mendapatkan referensi ke Grain.

Grain(IGrainContext, IGrainRuntime)

Pelaksana biji-bijian TIDAK harus mengekspos konstruktor ini tetapi dapat memilih untuk melakukannya. Konstruktor ini sangat berguna untuk pengujian unit di mana kode pengujian dapat membuat Grain dan mengganti IGrainIdentity dan IGrainRuntime dengan tes ganda (tiruan/stub).

Grain(IGrainIdentity, IGrainRuntime)

Pelaksana biji-bijian TIDAK harus mengekspos konstruktor ini tetapi dapat memilih untuk melakukannya. Konstruktor ini sangat berguna untuk pengujian unit di mana kode pengujian dapat membuat Grain dan mengganti IGrainIdentity dan IGrainRuntime dengan tes ganda (tiruan/stub).

Properti

GrainContext

Kelas dasar abstrak untuk semua kelas biji-bijian.

GrainFactory

Mendapatkan objek yang dapat digunakan untuk mengakses biji-bijian lain. Null jika butir ini tidak terkait dengan Runtime, seperti ketika dibuat langsung untuk pengujian unit.

GrainReference

Kelas dasar abstrak untuk semua kelas biji-bijian.

IdentityString

Representasi string dari SiloIdentity grain termasuk jenis dan kunci primer.

RuntimeIdentity

Pengidentifikasi unik untuk silo saat ini. Tidak ada konten semantik untuk string ini, tetapi mungkin berguna untuk pengelogan.

ServiceProvider

Mendapatkan IServiceProvider yang dikelola oleh runtime. Null jika butir ini tidak terkait dengan Runtime, seperti ketika dibuat langsung untuk pengujian unit.

Metode

DeactivateOnIdle()

Nonaktifkan aktivasi biji-bijian ini setelah panggilan metode biji-bijian saat ini selesai. Panggilan ini akan menandai aktivasi biji-bijian saat ini untuk dinonaktifkan dan dihapus di akhir metode saat ini. Panggilan berikutnya ke biji-bijian ini akan menghasilkan aktivasi yang berbeda untuk digunakan, yang biasanya berarti aktivasi baru akan dibuat secara otomatis oleh runtime.

DelayDeactivation(TimeSpan)

Penundaan Penonaktifan aktivasi ini setidaknya selama durasi waktu yang ditentukan. Nilai timeSpan positif berarti "cegah GC aktivasi ini untuk rentang waktu tersebut". Nilai timeSpan negatif berarti "batalkan pengaturan sebelumnya dari panggilan DelayDeactivation dan buat aktivasi ini bereaksi berdasarkan pengaturan Pengumpulan Sampah Aktivasi reguler". Metode DeactivateOnIdle akan membatalkan / mengambil alih pengaturan "tetap hidup" saat ini, membuat butir ini segera tersedia untuk penonaktifan.

GetLogger()

Mengembalikan objek pencatat yang dapat digunakan kode grain ini untuk pelacakan. Nama pencatat akan berasal dari nama kelas grain.

GetLogger(String)

Mengembalikan objek pencatat yang dapat digunakan kode grain ini untuk pelacakan.

GetReminder(String)

Mengembalikan pengingat yang terdaftar sebelumnya.

GetReminders()

Mengembalikan daftar semua pengingat yang didaftarkan oleh biji-bijian.

GetStreamProvider(String)

Kelas dasar abstrak untuk semua kelas biji-bijian.

GetStreamProviders()

Kelas dasar abstrak untuk semua kelas biji-bijian.

MigrateOnIdle()

Memulai upaya untuk memigrasikan instans ini ke lokasi lain. Migrasi menangkap RequestContextsaat ini , membuatnya tersedia untuk direktur penempatan aktivasi sehingga dapat mempertimbangkannya saat memilih lokasi baru. Migrasi akan terjadi secara asinkron, ketika tidak ada permintaan yang dijalankan, dan tidak akan terjadi jika direktur penempatan aktivasi tidak memilih lokasi alternatif.

OnActivateAsync()

Metode ini dipanggil pada akhir proses mengaktifkan biji-bijian. Ini dipanggil sebelum pesan dikirim ke biji-bijian. Untuk biji-bijian dengan status persisten yang dinyatakan, metode ini dipanggil setelah properti Status diisi.

OnActivateAsync(CancellationToken)

Metode ini dipanggil pada akhir proses mengaktifkan biji-bijian. Ini dipanggil sebelum pesan dikirim ke biji-bijian. Untuk biji-bijian dengan status persisten yang dinyatakan, metode ini dipanggil setelah properti Status diisi.

OnDeactivateAsync()

Metode ini dipanggil pada awal proses penonaktifan biji-bijian.

OnDeactivateAsync(DeactivationReason, CancellationToken)

Metode ini dipanggil pada awal proses penonaktifan biji-bijian.

Participate(IGrainLifecycle)

Kelas dasar abstrak untuk semua kelas biji-bijian.

RegisterOrUpdateReminder(String, TimeSpan, TimeSpan)

Mendaftarkan pengingat yang persisten dan andal untuk mengirim pemberitahuan reguler (pengingat) ke biji-bijian. Butir harus mengimplementasikan antarmuka Orleans.IRemindable, dan pengingat untuk butir ini akan dikirim ke metode panggilan balik ReceiveReminder. Jika butir saat ini dinonaktifkan ketika timer diaktifkan, aktivasi baru biji-bijian ini akan dibuat untuk menerima pengingat ini. Jika pengingat yang ada dengan nama yang sama sudah ada, pengingat tersebut akan ditimpa dengan pengingat baru ini. Pengingat akan selalu diterima oleh satu aktivasi biji-bijian ini, bahkan jika ada beberapa aktivasi untuk biji-bijian ini.

RegisterTimer(Func<Object,Task>, Object, TimeSpan, TimeSpan)
Kedaluwarsa.

Mendaftarkan timer untuk mengirim panggilan balik berkala ke butir ini.

UnregisterReminder(IGrainReminder)

Membatalkan pendaftaran pengingat yang terdaftar sebelumnya.

Implementasi Antarmuka Eksplisit

IGrainBase.GrainContext

Kelas dasar abstrak untuk semua kelas biji-bijian.

Metode Ekstensi

DeactivateOnIdle(IGrainBase)

Nonaktifkan aktivasi biji-bijian ini setelah panggilan metode biji-bijian saat ini selesai. Panggilan ini akan menandai aktivasi biji-bijian saat ini untuk dinonaktifkan dan dihapus di akhir metode saat ini. Panggilan berikutnya ke biji-bijian ini akan menghasilkan aktivasi yang berbeda untuk digunakan, yang biasanya berarti aktivasi baru akan dibuat secara otomatis oleh runtime.

MigrateOnIdle(IGrainBase)

Memulai upaya untuk memigrasikan instans ini ke lokasi lain. Migrasi menangkap RequestContextsaat ini , membuatnya tersedia untuk direktur penempatan aktivasi sehingga dapat mempertimbangkannya saat memilih lokasi baru. Migrasi akan terjadi secara asinkron, ketika tidak ada permintaan yang dijalankan, dan tidak akan terjadi jika direktur penempatan aktivasi tidak memilih lokasi alternatif.

RegisterGrainTimer(IGrainBase, Func<CancellationToken,Task>, GrainTimerCreationOptions)

Membuat timer biji-bijian.

RegisterGrainTimer(IGrainBase, Func<CancellationToken,Task>, TimeSpan, TimeSpan)

Membuat timer biji-bijian.

RegisterGrainTimer(IGrainBase, Func<Task>, GrainTimerCreationOptions)

Kelas dasar abstrak untuk semua kelas biji-bijian.

RegisterGrainTimer(IGrainBase, Func<Task>, TimeSpan, TimeSpan)

Membuat timer biji-bijian.

RegisterGrainTimer<TState>(IGrainBase, Func<TState,CancellationToken,Task>, TState, GrainTimerCreationOptions)

Membuat timer biji-bijian.

RegisterGrainTimer<TState>(IGrainBase, Func<TState,CancellationToken,Task>, TState, TimeSpan, TimeSpan)

Membuat timer biji-bijian.

RegisterGrainTimer<TState>(IGrainBase, Func<TState,Task>, TState, GrainTimerCreationOptions)

Kelas dasar abstrak untuk semua kelas biji-bijian.

RegisterGrainTimer<TState>(IGrainBase, Func<TState,Task>, TState, TimeSpan, TimeSpan)

Membuat timer biji-bijian.

AsReference(IAddressable, Type)

Mengembalikan referensi yang ditik ke butir yang disediakan.

AsReference<TGrainInterface>(IAddressable)

Mengembalikan referensi yang ditik ke butir yang disediakan.

BindGrainReference(IAddressable, IGrainFactory)

Mengikat referensi biji-bijian ke IGrainFactoryyang disediakan.

Cast(IAddressable, Type)

Mengembalikan referensi yang ditik ke butir yang disediakan.

Cast<TGrainInterface>(IAddressable)

Mengembalikan referensi yang ditik ke butir yang disediakan.

GetGrainId(IAddressable)

Mengembalikan id biji-bijian yang sesuai dengan butir yang disediakan.

GetPrimaryKey(IAddressable)

Mengembalikan representasi Guid dari kunci primer butir.

GetPrimaryKey(IAddressable, String)

Mengembalikan representasi Guid dari kunci primer butir.

GetPrimaryKeyLong(IAddressable)

Mengembalikan representasi long dari kunci primer butir.

GetPrimaryKeyLong(IAddressable, String)

Mengembalikan representasi long dari kunci primer butir.

GetPrimaryKeyString(IAddressable)

Mengembalikan kunci primer string dari butir.

IsPrimaryKeyBasedOnLong(IAddressable)

Mengembalikan apakah bagian dari kunci primer berjenis long.

GetReminder(Grain, String)

Mengembalikan pengingat yang terdaftar sebelumnya.

GetReminder(IGrainBase, String)

Mengembalikan pengingat yang terdaftar sebelumnya.

GetReminders(Grain)

Mengembalikan daftar semua pengingat yang didaftarkan oleh biji-bijian.

GetReminders(IGrainBase)

Mengembalikan daftar semua pengingat yang didaftarkan oleh biji-bijian.

RegisterOrUpdateReminder(Grain, String, TimeSpan, TimeSpan)

Mendaftarkan pengingat yang persisten dan andal untuk mengirim pemberitahuan reguler (pengingat) ke biji-bijian. Butir harus mengimplementasikan antarmuka Orleans.IRemindable, dan pengingat untuk butir ini akan dikirim ke metode panggilan balik ReceiveReminder. Jika butir saat ini dinonaktifkan ketika timer diaktifkan, aktivasi baru biji-bijian ini akan dibuat untuk menerima pengingat ini. Jika pengingat yang ada dengan nama yang sama sudah ada, pengingat tersebut akan ditimpa dengan pengingat baru ini. Pengingat akan selalu diterima oleh satu aktivasi biji-bijian ini, bahkan jika ada beberapa aktivasi untuk biji-bijian ini.

RegisterOrUpdateReminder(IGrainBase, String, TimeSpan, TimeSpan)

Mendaftarkan pengingat yang persisten dan andal untuk mengirim pemberitahuan reguler (pengingat) ke biji-bijian. Butir harus mengimplementasikan antarmuka Orleans.IRemindable, dan pengingat untuk butir ini akan dikirim ke metode panggilan balik ReceiveReminder. Jika butir saat ini dinonaktifkan ketika timer diaktifkan, aktivasi baru biji-bijian ini akan dibuat untuk menerima pengingat ini. Jika pengingat yang ada dengan nama yang sama sudah ada, pengingat tersebut akan ditimpa dengan pengingat baru ini. Pengingat akan selalu diterima oleh satu aktivasi biji-bijian ini, bahkan jika ada beberapa aktivasi untuk biji-bijian ini.

UnregisterReminder(Grain, IGrainReminder)

Membatalkan pendaftaran pengingat yang terdaftar sebelumnya.

UnregisterReminder(IGrainBase, IGrainReminder)

Membatalkan pendaftaran pengingat yang terdaftar sebelumnya.

GetStreamProvider(Grain, String)

Mendapatkan penyedia streaming dengan nameyang ditentukan .

GetStreamProvider(IGrainBase, String)

Mendapatkan penyedia streaming dengan nameyang ditentukan .

GetLogger(Grain)

Mengembalikan objek pencatat yang dapat digunakan kode grain ini untuk pelacakan. Nama pencatat akan berasal dari nama kelas grain.

GetLogger(Grain, String)

Mengembalikan objek pencatat yang dapat digunakan kode grain ini untuk pelacakan.

GetGrainStorage(Grain, IServiceProvider)

Dapatkan penyedia penyimpanan yang terkait dengan jenis biji-bijian.

Berlaku untuk