2017-03-01 19 views
1

私はASP.NET 4/WebformsからASP.NET Core/MVCへの移行に取り組んでいます。私はMVCが初めてですが、その概念を理解しています。私は、しかし、ASP.NETコアのハンドルを取得すると1つの問題に遭遇している。私はいくつかの質問があります。私の遺産(​​ASPNET4)プロジェクトとASP.NET 4から.NET CORE 1.1への移行

は、私は自分のWebプロジェクトのための基本的な機能を提供し、「ヘルパー」ライブラリを書いた: - データベースの処理(接続、クリーンアップ、エラーキャッチ、キャッシング、ページング、結合など)

  • その他の機能(ビューステート圧縮、日付/時刻関数、など)

  • ストレージ管理(セッション、クッキー、など)

  • プラグイン(TwitterやFacebook、Googleのint型egrations)

  • アイデンティティ管理(他のシステムと連携し、カスタムID)

  • 私はあなたがポイントを得ると思います...

年間、私はしばらくの間、絶えずこのフレームワークを開発してきました更新とバグ修正。それは非常に速く安定しています - それはあなたがそれに投げたい任意のデータベースを処理します!

調査しているうちに、.NETコアでは同じタスクを達成することが難しくなっています。まず、COREはオブジェクトリレーショナルマッパー(エンティティ、ダッパーなど)のみをサポートしているようです。私はADO.NETに完全に満足しており、違いを理解しています。私は本当にEntity Framework、つまりDapperを使いたくないのです。 .NET Frameworkからほとんどのコードを移行できます。しかし、ADO.NETは.NET Coreで完全にサポートされていないようです。これは本当ですか?

私の次の問題は、データベースのサポート後に発生します。クラスライブラリからセッションやクッキーなどを管理するのは難しいことですおそらく、私は概念を誤解しているか、適切な文書を見つけていないのですが、外部ライブラリでSession/Cache/etcを管理することはほとんど不可能なようです。これは本当ですか?カスタムミドルウェアの作成を研究する必要がありますか?

私はセッションのようなものを処理するために、自分自身のコードを使用することができますので、基本的に、私はなど、データ管理、ライブラリーからウェブサイトへのフルアクセスを必要とする

MVCは、ASP.NETのために利用できる唯一のオプションですか?

最後に、Visual Studio 2015は.NETコアアプリケーションの処理に非常に不便で遅いようです。これは私にとって大きな打撃を与えました.NuGetへのインターフェースからすべてが遅くて不思議そうです。

.NETコアをどこに置いても、どこから始めるべきかについてのアドバイスや提案は非常に高く評価されています。私は数週間、ドキュメントを読んで実験しましたが、実際の進歩はありませんでした。私は本当にwebformsから離れたいと思っています!

答えて

1

次の火曜日(3/7/17).NET Coreを完全にサポートしているVisual Studio 2017がリリースされます。 VS15にはプレビューツールが用意されているため、発生している多くの不具合が発生します。また、.NET Core 1.1が1.0.1よりもはるかにフレンドリーであるため(現在のところ、project.jsonが存在しないので私の意見では)、プロセスの早い段階でVS17 RCに変換することを検討したいかもしれません。

データベースのやりとりに関して、Entity Frameworkの背後にあるアイデアは、プログラムの上にDALや他のデータベースサービスレイヤーを持つことよりも抜本的に改善されているということです。 EF Coreのミドルウェア/ DbContextを通じて、すべてのデータベース対話は、未処理のSQLまたはLINQ(またはその両方)で完了することができます。この相互作用によって、実際にDAL/ADOレイヤーを持つ必要はありません。

Entity FrameworkはADO.NET上に構築されており、他のエンティティリレーションシップライブラリよりも大幅に改善されています。これについてのより良い見解については、ウィキペディアのADO.NETの下のmasonのコメントを参照してください。

クッキー/セッションに関しては、私はこの種の情報に驚くことはありませんが、ユーザー情報とセッションのためのASP.NETアイデンティティがあります。 IdentityServer 4は別のオプションです。

+1

ADO.NET(ほとんどの場合)はまだ.NETコアです。 EFはまだそれの上に構築されています。 [ソース](https://github.com/aspnet/EntityFramework/blob/dev/src/Microsoft.EntityFrameworkCore.SqlServer.Design/Internal/SqlServerDatabaseModelFactory.cs)を見てください。 – mason

+0

おっと、私の用語は本当に悪いことです。より良い使い方をするために私の答えを更新します。ありがとう! –

+0

用語の心配はありません。私はEntityフレームワークの多くのパフォーマンスレビューを読みましたが、それは私には印象的でした。私はADONETを好むだけですが、私は学習プロセスを始めるべきだと思います。 プレビューツールのためにすべてが悪いことを知っておくとよいでしょう。私はVS17 RCを使いこなしましたが、VS15の問題を引き起こしました。私は数ヶ月前からそれをもう一度やっています。ありがとう! – mackhax0r

関連する問題