> ## Documentation Index
> Fetch the complete documentation index at: https://easyaf.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# ConfigurationBase

> A base class implementation of the configuration your Blazor app will pull from wwwroot/appsettings.json. Provides standard HttpClient configuration for API ...

## Definition

**Assembly:** CloudNimble.EasyAF.Configuration.dll

**Namespace:** CloudNimble.EasyAF.Configuration

**Inheritance:** System.Object

## Syntax

```csharp theme={"dark"}
CloudNimble.EasyAF.Configuration.ConfigurationBase
```

## Summary

A base class implementation of the configuration your Blazor app will pull from wwwroot/appsettings.json.
Provides standard HttpClient configuration for API and application endpoints.

## Remarks

This configuration class is typically used for customer-facing applications that need to communicate
with external APIs and handle application-level HTTP requests. For administrative applications,
consider using [ConfigurationPlusAdminBase](/api-reference/CloudNimble/EasyAF/Configuration/ConfigurationPlusAdminBase) instead.

## Examples

```csharp theme={"dark"}
// In Program.cs or Startup.cs
builder.Services.AddConfigurationBase&lt;MyAppConfiguration&gt;(builder.Configuration, "AppSettings");

// Example configuration in appsettings.json
{
  "AppSettings": {
    "ApiRoot": "https://api.mycompany.com",
    "AppRoot": "https://myapp.mycompany.com",
    "HttpHandlerMode": "Add"
  }
}

// Usage in components
[Inject] public MyAppConfiguration Config { get; set; }

private async Task CallApi()
{
    var httpClient = HttpClientFactory.CreateClient(Config.ApiClientName);
    var response = await httpClient.GetAsync($"{Config.ApiRoot}/api/data");
}
```

## Constructors

### <Icon icon="hammer" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> .ctor

#### Syntax

```csharp theme={"dark"}
public ConfigurationBase()
```

### <Icon icon="hammer" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> .ctor <Badge color="gray">Inherited</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
public Object()
```

## Properties

### <Icon icon="tag" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> ApiClientName

The name of the HttpClient that will be used to hit the app's Public API.

#### Syntax

```csharp theme={"dark"}
public string ApiClientName { get; set; }
```

#### Property Value

Type: `string`

### <Icon icon="tag" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> ApiRoot

The root of the API that your Blazor app will call.

#### Syntax

```csharp theme={"dark"}
public string ApiRoot { get; set; }
```

#### Property Value

Type: `string`

#### Remarks

Most Blazor apps will call at least one API. If you need to call more than one, just inherit from ConfigurationBase and add your own properties.

### <Icon icon="tag" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> AppClientName

The name of the HttpClient that will be used to hit the Blazor App's Controllers.

#### Syntax

```csharp theme={"dark"}
public string AppClientName { get; set; }
```

#### Property Value

Type: `string`

### <Icon icon="tag" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> AppRoot

The website your Blazor app is being served from.

#### Syntax

```csharp theme={"dark"}
public string AppRoot { get; set; }
```

#### Property Value

Type: `string`

#### Remarks

Sometimes you will need to get information about the app's deployment before it has been fully-initialized in Program.cs. This is the place to do it.

### <Icon icon="tag" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> HttpHandlerMode

Determines how HttpClient message handlers are configured when registering HTTP clients.
Controls whether handlers are added to existing handlers or replace them entirely.

#### Syntax

```csharp theme={"dark"}
public CloudNimble.EasyAF.Core.HttpHandlerMode HttpHandlerMode { get; set; }
```

#### Property Value

Type: `CloudNimble.EasyAF.Core.HttpHandlerMode`

## Methods

### <Icon icon="code-fork" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> Equals <Badge color="gray">Inherited</Badge> <Badge color="orange">Virtual</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
public virtual bool Equals(object obj)
```

#### Parameters

| Name  | Type      | Description |
| ----- | --------- | ----------- |
| `obj` | `object?` | -           |

#### Returns

Type: `bool`

### <Icon icon="thumbtack" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> Equals <Badge color="gray">Inherited</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
public static bool Equals(object objA, object objB)
```

#### Parameters

| Name   | Type      | Description |
| ------ | --------- | ----------- |
| `objA` | `object?` | -           |
| `objB` | `object?` | -           |

#### Returns

Type: `bool`

### <Icon icon="code-fork" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> GetHashCode <Badge color="gray">Inherited</Badge> <Badge color="orange">Virtual</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
public virtual int GetHashCode()
```

#### Returns

Type: `int`

### <Icon icon="function" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> GetType <Badge color="gray">Inherited</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
public System.Type GetType()
```

#### Returns

Type: `System.Type`

### <Icon icon="function" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> MemberwiseClone <Badge color="gray">Inherited</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
protected internal object MemberwiseClone()
```

#### Returns

Type: `object`

### <Icon icon="thumbtack" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> ReferenceEquals <Badge color="gray">Inherited</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
public static bool ReferenceEquals(object objA, object objB)
```

#### Parameters

| Name   | Type      | Description |
| ------ | --------- | ----------- |
| `objA` | `object?` | -           |
| `objB` | `object?` | -           |

#### Returns

Type: `bool`

### <Icon icon="code-fork" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> ToString <Badge color="gray">Inherited</Badge> <Badge color="orange">Virtual</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
public virtual string ToString()
```

#### Returns

Type: `string?`
