Skip to content

CSharp

C# で FastEnum を試す

FastEnum はキャッシュを効果的に活用することで標準の System.Enum よりも速度を改善したライブラリだそうです。 今回は「どのくらい速いのか?」実際に試してみます。 言語は C# を使います。

Cisco ACI へログインする C# サンプルプログラム

C# で ACI へログインするサンプルを書いてみました。 ACI 4.2(2e) で検証しましたが、ACI 側のバージョンに依存する部分はありません。 .NET Framework は 4.7.2 を使いました。 サンプルとしての分かりやすさを優先すべく、出来るだけコンパクトに書いていますが、本格的に利用するには以下のような改善が必要だと思います。

  1. 以下をハードコードせず、引数や外部ファイルから指定出来るようにする
    • APIC のアドレス
    • ユーザ名
    • パスワード
  2. 例外処理を追加する
  3. Json をべた書きせず、クラス化する
  4. HttpClient のタイムアウト時間等、必要なパラメータをチューニングする

実際にはレスポンスから token を抜き出し、以降の処理で使います… というアプリケーションを書くことになると思います。

C# で UI コントロールにスレッドセーフなアクセスをする

Windows Form アプリケーションを作成する際に UI コントロールへスレッドセーフにアクセスするには一工夫、必要です。 例えば TextBox に文字列を設定する場合、C# だと以下のように書けます。 InvokeRequiredInvoke が必要な場合は MethodInvoker を使います。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
private void SetText(TextBox txtBox, string text)
{
    if (txtBox.IsDisposed) return;
    if (txtBox.InvokeRequired)
    {
        this.Invoke((MethodInvoker)delegate { SetText(txtBox, text); });
    }
    else
    {
        txtBox.Text = text;
    }
}

C# から APIC-EM の REST API にアクセスする

Cisco Japan BlogSDN カテゴリー に「Python を使って APIC-EM の REST API にアクセスする」という記事が掲載されています。

(APIC-EM に限らず) Python や Ruby から REST API にアクセスするサンプルはしばしば見かけるのですが、C# のサンプルはなぜか数が少ないきがします… (探し方が悪い?)。というわけで C# のサンプルを書いてみました。あくまでサンプルなのでエラー処理はしていません。

C# から APIC-EM の REST API にアクセスする

Cisco Japan BlogSDN カテゴリー に「Python を使って APIC-EM の REST API にアクセスする」という記事が掲載されています。

(APIC-EM に限らず) Python や Ruby から REST API にアクセスするサンプルはしばしば見かけるのですが、C# のサンプルはなぜか数が少ないきがします… (探し方が悪い?)。というわけで C# のサンプルを書いてみました。あくまでサンプルなのでエラー処理はしていません。