2018/07/04(水)ASP.NET Core MVC は非推奨

VS2017の起動直後の画面に表示されているリンク「最新のテクノロジーを活用して、美しく、低コストで信頼できるWebサイトを配置する」をクリックしてみてびっくり。
「Razor ページ」のページへ飛ばされ、あれMVCはと思ってMVCのページをクリックしたら下記のような文言が。
pg20180704001.png

意訳すると「新しく便利なRazorページを作ったのでそっちを使ってね、どうしてもMVCを使うというのならその理由を報告してね」

あえてMVCを選択する理由を覗いて見るとWebFormを思い出す、後退だろうという意見やコロコロ変えすぎ付いて行けないわという意見が。

気持ちは分かりますが、ドキュメント読んでいる感じではMVCの一部だし、ページ単位でコードがまとまるのは管理が楽になりそうで悪くは無いと思います。
最初からこの形にしておけばWebFormからの移行も楽だったんじゃないかと思いますが。
今までは自分でViewModelを作成していましたが、それがPageModelに変わると書き方が統一されそうですし。

Coreの動くサーバーがまだ無いので実際に使うのは随分先になりそうですが…。
プロジェクトを作成する際に.NET Framework選択すればよさげです。
rp20180707002.png


後から切り替えは無理っぽい。
rp20180707003.png

2018/06/23(土)Orchard Coreのロードマップが更新されてます

いつの間にか更新され、Taxonomiesが10月のBacklogに…。
それほど移植難しいとは思えない(Workflows等に比べてですが)のにこの冷たさは何なんでしょう。
何か別の機能を使って実現できるんでしょうか。

Windows Workflow Foundationに興味がありを買ったまま利用せず放置中ですが、この際しばらくWorkflowsモジュールで遊んでみようかな。
こちらの方が直ぐに使える状態になっているのでとっつきやすそうです。

2018/06/04(月)C#でRESTクライアント

事業者間連携にREST登場し始めました。
社内でやり取りしている場合は読みやすいようにサーバー側を変えて!と言えますが、外部のAPIとなればそうは言えません。
仕様書見ればメソッドはPOSTでデータのフォーマットはQueryString。
jQueryのサンプルも付いていましたがそのままでは動かず、JSONPもCORSもブロックされます。
手っ取り早くC#でやろうとここを参考にWebClientを使いました。
セキュリティ用のカスタムヘッダも追加し、ちゃんとJSON返ってきたのはいいですが、ボテボテJSON(自分で受け取り用のクラス書く気は全く起きない量)をどうやってViewで使う?JSONそのままJavaScriptに渡す?少し迷いましたが受け取ったJSONをここでC#のクラスに変換してみたところ、孫まである複雑なJSONをきれいにクラスにしてくれました。
オブジェクト型以外は全部string型かと思ったら、intも混じってました。

もっとじっくり調べれば便利な方法あるかも知れませんが、意外に簡単にできたのでお世話になったサイトを次回用にメモ。

2018/05/31(木)我が家のアヤメは本当にアヤメか?

iris_sanguinea2.jpg

我が家のアヤメです。乾いたところに生えているのでアヤメだと思っていますがハナショウブかカキツバタではなく間違いなくアヤメであることを確かめるため、機械学習で判定してもらおうと、ML.NETとiris-dataで検索したらオフィシャルにありました。

前回の続きなので既に環境は整っているので、.NET Coreのコンソールアプリを作成し、NuGetでMicrosoft.MLを追加。
iris-dataをダウンロードしてプロジェクトに追加し、プロパティを変更。
iris010.png


コードをコピペしてデバッグなしで実行。
すんなり動き、あとは休みの日に我が家のアヤメのサイズを測るだけ!どれがどれか分かりやすいように分類を日本語にと思ったら、「アヤメ」「カキツバタ」「ハナショウブ」ではなくどれもアヤメ??
Iris setosa:ヒオウギアヤメ
Iris versicolor:ブルーフラッグ
Iris virginica:?

ちょっとショック(^^;)。
OK キャンセル 確認 その他