投稿

2017の投稿を表示しています

ASP.NET Coreでiisresetでもセッションを維持する件

Redisを使えば大丈夫だと思ったけど、ダメだったので調べたことのメモ ポイント - dotnet.exe単体動作ではRedisのみでOK - iisのバックエンドの場合はiisresetでセッションが吹っ飛ぶ - セッションidとredisのキーを紐付ける設定がiisの場合、都度変わるぽい Startup.csのConfigureServices関数にて var redis = StackExchange.Redis.ConnectionMultiplexer.Connect(Configuration.GetConnectionString("RedisConnection")); services.AddSingleton(options => redis.GetDatabase()); services.AddDataProtection().PersistKeysToRedis(redis, "DataProtection-Keys"); 的な記述を追加する。 これによって、dotnet core on iis でもiisresetでセッションが飛ばないようになるぽい。 ちなみに、キーとなるAddDataProtection()ミドルウェアだが、 Microsoft.AspNetCore.DataProtection.Redis アセンブリが必要になるため、Nugetで事前にインストールが必要である。

自分用メモ:yeoman-generatorの実体の場所

/usr/local/lib/node_modules/generator_***にある模様。 探すのに時間がかかったのでメモ

新しいdotnetコマンドで自己展開型(self contained)なバイナリを生成するには

VS.NET 2017系になって、Dotnet coreがproject.jsonからcsprojになりました。 以前は、project.jsonで自己展開型(.exeにビルドするやつ)にビルドするには、 project.jsonに、以下のようにruntimesセクションを追加して "runtimes": {   "win10-x64": {}   "osx.10.10-x64: {} } dotnet build -r win10-x64 などとコマンドラインで叩くと-r(runtimes)オプションで指定した環境向けに単独で実行できるバイナリが生成されます。 VS.NET 2017では、project.jsonが廃止されて*.csprojになってしまったので、自己展開型のバイナリ生成が上記のやり方ではできなくなってしまいました。 VS.NET 2017のプロジェクトのプロパティからも設定できなかったが、csprojを直接編集することでできる模様。 <PropertyGroup>   <RuntimeIdentifiers>win10-x64</RuntimeIdentifiers>   <RuntimeIdentifiers>osx.10.10-x64</RuntimeIdentifiers> </PropertyGroup> 上記のようにした上で、 dotnet build -r win10-x64 dotnet build -r osx.10.10-x64 とコマンドラインで叩くと、指定した環境向けの実行バイナリが生成される。 参考: https://docs.microsoft.com/ja-jp/dotnet/articles/core/deploying/ どっちにしてもVS.NET上で指定はできないみたい。 →とわいえ、VS.NET 2017からDotnet Coreサポートは大分良くなったよ!!

マルチモニタをやめてみた

クラムシェルをやってみたくて一時的にマルチモニタをやめてみたら意外に作業が捗る事がわかった 理由を考えたところ作業スペースが有効に使え、マルチモニタのときは狭くて使って無かった紙とペンを使うようになったことと、何より集中力が上がった気がする。 目の前に余計な物がないのが良いみたいだ。 マルチモニタと作業効率でググると良いことしか書いてないページばかり引っ掛かるが、シングルモニタと集中力でググると真逆のことが書かれていて面白い。 マルチモニタ派の人は作業効率おしだがシングル派はかつてマルチモニタを使っていた人ばかりというのがより説得力がある。 結局は人それぞれなのかもしれないが、試しに片方のモニタの電源オフしてみるのも良いかも知れない

Anguler2@Windows with Webpackでエラーが発生する件について

Angular2をWindows環境で実行しようと、 http://blog.stevensanderson.com/2016/10/04/angular2-template-for-visual-studio/ からひっぱてきたテンプレートを使って動かそうとした際、 node_module/to-string-loader/src/to-string.jsの16行目でjavascriptのヒアドキュメントがILLEGALなsyntaxというエラーが発生してえらく難儀したのでメモしておく。 結論から言うと、node.jsのバージョンが 0.10.xxx で古かったらしく最新バージョンにアップしたら問題なく動作した。 最新版は ここ を参考に引っ張ってきた。※既にnode.jsにパスが通っている環境の場合、既存のパスの方が優先されたのでパスの調整が必要でした。 また、TypeScriptのバージョンもアップ(1.5.4→2.14)した。 普段はVisual Studio.Codeを使っているが、たまにVisual Studio.NETを使うのも良い気がした。 追記: ここ に既出ですね。→node.js 4.X以上じゃないとダメみたいですね。