dotnet 6.0 HttpClientでCache-Control: no-cache

dotnet 6.0 HttpClientでCache-Control: no-cache

dotnet 6.0の、 HttpClientで「Cache-Control: no-cache」を使う方法

HttpClientの DefaultRequestHeaders.CacheControlを 使います。

using System.Net.Http.Headers;

string url = "https://mjeld.com";
var httpc = new HttpClient();
httpc.DefaultRequestHeaders.CacheControl = new CacheControlHeaderValue {
    NoCache = true, NoStore = true, MaxAge = new TimeSpan(0,0,30)
};
var aRes = httpc.GetAsync(url);
var bRes = aRes.Result.Content.ReadAsStringAsync();
string content1 = bRes.Result;
Console.WriteLine(content1);

Cache-Control: no-store, no-cache, max-age=30

上記の結果でした。

no-cacheだけ必要な場合は、 下記のように NoStoreとMaxAgeを外します。

httpc.DefaultRequestHeaders.CacheControl = new CacheControlHeaderValue {
    NoCache = true
};

dotnet macOS 古いSDKを削除する

dotnet --list-runtimes

macOSにインストールした dotnet(.NET) SDKの古いバージョンを削除する

インストールされているdotnet SDKバージョン一覧を確認する

dotnet --list-sdks
dotnet –list-sdks 実行

/usr/local/share/dotnet/sdk ここに、 SDK各バージョンの 実態が入っています

ls -l /usr/local/share/dotnet/sdk/

lsで 確認してみると 各バージョンが入っています↓

ls 結果

先頭にある「2.1.403」を消してみる

sudo rm -rf /usr/local/share/dotnet/sdk/2.1.403

再度「 dotnet –list-sdks 」で 確認すると 2.1.403 は消えていた

sdk以外にも 「 /usr/local/share/dotnet/shared 」

Microsoft.AspNetCore.All 
Microsoft.AspNetCore.App 
Microsoft.NETCore.App

上記の各バージョンのディレクトリも消す

「 /usr/local/share/dotnet/host/fxr 」ここの バージョンのディレクトリも消す。

Microsoft のドキュメントに書いてある .NET ランタイムと SDK を削除する方法 を参考に アンインストールシェルを作成する

#!/bin/bash
version="2.1.403"
sudo rm -rf /usr/local/share/dotnet/sdk/$version
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.NETCore.App/$version
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.AspNetCore.All/$version
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.AspNetCore.App/$version
sudo rm -rf /usr/local/share/dotnet/host/fxr/$version

dotnet ランタイムを確認

dotnet --list-runtimes
2022 MJELD TECHNOLOGIES. ALL RIGHTS RESERVED