# IReminderService Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.reminders/orleans.ireminderservice/)

## GetReminder(GrainId, string) {#getreminder-orleans-runtime-grainid-string-6b3dccc2}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.reminders/orleans.ireminderservice/methods/getreminder-orleans-runtime-grainid-string-6b3dccc2/)

```csharp
public abstract Task<IGrainReminder> GetReminder(GrainId grainId, string reminderName)
```

Gets the reminder registered to the specified grain with the provided name.

### Parameters

- `grainId` (`GrainId`): A reference to the grain which the reminder is registered on.
- `reminderName` (`string`): The name of the reminder.

### Returns

The reminder.

## GetReminders(GrainId) {#getreminders-orleans-runtime-grainid-0cbb5f8d}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.reminders/orleans.ireminderservice/methods/getreminders-orleans-runtime-grainid-0cbb5f8d/)

```csharp
public abstract Task<List<IGrainReminder>> GetReminders(GrainId grainId)
```

Gets all reminders registered for the specified grain.

### Parameters

- `grainId` (`GrainId`): A reference to the grain.

### Returns

A list of all registered reminders for the specified grain.

## RegisterOrUpdateReminder(GrainId, string, TimeSpan, TimeSpan) {#registerorupdatereminder-orleans-runtime-grainid-string-system-timespan-system-t-cbcdd0c9}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.reminders/orleans.ireminderservice/methods/registerorupdatereminder-orleans-runtime-grainid-string-system-timespan-system-t-cbcdd0c9/)

```csharp
public abstract Task<IGrainReminder> RegisterOrUpdateReminder(GrainId grainId, string reminderName, TimeSpan dueTime, TimeSpan period)
```

Registers a new reminder or updates an existing one.

### Parameters

- `grainId` (`GrainId`): A reference to the grain which the reminder is being registered or updated on behalf of.
- `reminderName` (`string`): The reminder name.
- `dueTime` (`TimeSpan`): The amount of time to delay before firing the reminder initially.
- `period` (`TimeSpan`): The time interval between invocations of the reminder.

### Returns

The reminder.

## Start {#start-dde2578c}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.reminders/orleans.ireminderservice/methods/start-dde2578c/)

```csharp
public abstract Task Start()
```

Starts the service.

### Returns

A `System.Threading.Tasks.Task` representing the operation.

## Stop {#stop-f4cf1fd2}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.reminders/orleans.ireminderservice/methods/stop-f4cf1fd2/)

```csharp
public abstract Task Stop()
```

Stops the service.

### Returns

A `System.Threading.Tasks.Task` representing the operation.

## UnregisterReminder(IGrainReminder) {#unregisterreminder-orleans-runtime-igrainreminder-5231eff6}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.reminders/orleans.ireminderservice/methods/unregisterreminder-orleans-runtime-igrainreminder-5231eff6/)

```csharp
public abstract Task UnregisterReminder(IGrainReminder reminder)
```

Unregisters the specified reminder.

### Parameters

- `reminder` (`IGrainReminder`): The reminder.

### Returns

A `System.Threading.Tasks.Task` representing the operation.
