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

msiをコマンドで 無人一括インストール – msiexec.exe –

msi 無人インストール

Visual Studioでインストーラーを作成した場合*.msiが作られます。

msi普通に起動するとインストールウィザード画面が実行されます。社内で一気に配布したい場合不便なので、msiexec.exe(コマンドライン)が利用できます。

通常のインストールを指定

通常インストール指定の場合は /i を使います。

msiexec.exe /i ".\Installer.msi" /qn /passive /L*vx! "C:\Users\public\log.log"

製品をすべてのユーザーに提供する場合

/jm は、製品をすべてのユーザーに提供できます。(コンピューター内のすべてのユーザーにアドバタイズします。)

Publicフォルダなど全員が見れる場所にmsiファイルを配置したほうがいいです。

msiexec.exe /jm "C:\Users\Public\Installer.msi" /qn /passive /L*vx! "C:\Users\Public\log.log"

パッケージをアンインストール

msiexec.exe /x "C:\Users\Public\Installer.msi" /qn /passive /L*vx! "C:\Users\Public\log.log"

https://docs.microsoft.com/ja-jp/windows/win32/msi/command-line-options

https://docs.microsoft.com/ja-jp/windows-server/administration/windows-commands/msiexec

https://social.msdn.microsoft.com/Forums/ja-JP/cc68063e-a332-472f-a596-1677dd7b1b55/step-by-step-guide-msi?forum=visualstudiosupportteamja