タグ付けされた質問 「asp.net」

ASP.NETは、プログラマが動的なWebサイトとWebアプリケーションを構築できるようにするために、Microsoftが開発および販売しているWebアプリケーションフレームワークです。これは、.NET Frameworkのバージョン1.0とともに2002年1月に最初にリリースされ、MicrosoftのActive Server Pages(ASP)テクノロジーの後継です。ASP.NETは共通言語ランタイム(CLR)に基づいて構築されているため、プログラマーはサポートされている.NET言語を使用してASP.NETコードを記述できます。

5
レガシアプリケーションでコヒーレントアーキテクチャを開始する
私は、Asp.Netベースの大規模なWebサイトを担当しています。現在、これはWebアプリケーション(Webアプリケーションではない)、一部のWindowsサービス、および多数のクラスライブラリです。 データレイヤーは、LLBLGEN とLinq To LLBGenの混合、およびリファクタリングされていないレガシーインラインSQLのインスタンスを使用します。 マネージャータイプの実装がいくつかありますが、多くの場合、アプリケーションはスマートUIアンチパターンを示します(つまり、クラスの背後にあるコードのビジネスロジックが多すぎる) サイトのトラフィックはかなり高く、パフォーマンスは良好ですが、開発能力を約10人のチームにまで拡大しており、既存のミドルウェアの上に包括的な階層化設計が必要であることがますます明らかになっています。 私の質問はどこから始めればいいですか?私たちには10年のコード(ASP Classicのものを移行したものもあります)、さまざまなアプローチ、スタイルがあります。 コードベース全体のリファクタリングは現実的ではなく、おそらく望ましくありません 私はこれが新しい状況ではないことを知っています、この問題にどのようにアプローチするかに関して有用なアイデアや概念はありますか?

4
なぜMVC over Web Formsを使用するのですか?
最近、建築家は、トヨタ(Web Forms)だけが必要なときにロールスロイスソリューション(MVC)を提供していると当社を説明しました。 アーキテクチャの選択としてのWebフォームとMVCについてのあなたの考えを知りたいと思います。

3
オープンソースに貢献するよう会社を説得するにはどうすればよいですか?
私は、ASP.NET Webアプリ用のライブラリ/コンポーネントを具体的に構築するオープンソースソフトウェアに貢献するために、私が働いている会社を説得しようとしています。Googleの1週間に1日のポリシーに似ていますが、1か月に1回であるという点を除いて、職場で個人のペットプロジェクトに取り組むことができる「イノベーションデイ」があります。オープンソース。 他の会社はこれをします、例えば。Headspring Systems(http: //automapper.codeplex.com- 上部のバナーを参照)。 私は彼らに何を伝えますか?会社にとって有益なメリットを彼らに伝えることができますか?私たちの会社や評判などにさらされる可能性についてはすでに言及しましたが、次に雇用が始まるとトップソフトウェア開発者を引き付けます。しかし、他にどのような議論ができますか? 更新:私が働いている会社は、主にASP.NETおよびMS StackでWebアプリケーションを構築するソフトウェア会社です。クライアントは主にNHS(英国の公衆衛生部門)です。

1
数百万のレコードでの部分的な名前の一致
私たちは、名前を照合するためのWebベースのアプリケーションを開発しました。名前をパーツに分割することで動作し、各パーツのSoundex値はデータベースに格納されます。レーベンシュタイン距離メトリックは、与えられた名前に対するパーセンテージ音のマッチングだけでなく、スペルを適用するために使用されます。 実行時に、すべてのレコードをメモリに読み込み、すべてのSoundex値とすべての名前のすべての部分のスペルにレーベンシュタイン距離を適用します。 最大で2万の名前があったため、これは最初は問題なく機能していましたが、現在、当社のクライアントの1つに3,000万の名前があります。リクエストごとにこの巨大なリストをメモリにロードし、このタイプのマッチングを適用することは、大量のメモリと実行時間を使用する悲惨なアプローチです。 サウンドとスペリングのパーセンテージマッチングを使用して、近い将来に3000万件以上のレコードのデータベースを検索するための提案を探しています。 コア機能 エンドユーザーは、照合する名前と最小パーセンテージを入力します。名前の任意の部分が指定された名前の指定されたパーセンテージまでの任意の部分と一致するすべての名前をデータベースに表示することになっています。完全な名前を一致させる必要はありません。割合までの一致が成功した場合は、どの部分でも成功します。例えば。 Given Name: Helen Hunt Name in DB: Holly Hunter 両方の名前の両方の部分は正確には一致していませんが、ある程度までは一致します。80%と想定します。したがって、ユーザーが80%と入力した場合、DB内の名前は一致する名前として表示される必要があります。

3
ASP.NET WebFormsアプリケーションに最適なアーキテクチャ
クライアント用のASP.NET WebFormsポータルを作成しました。プロジェクトは、最初から適切に計画および構造化されているのではなく、ある程度進化しています。その結果、すべてのコードが同じプロジェクト内でレイヤーなしでまとめられます。クライアントは機能に満足しているので、プロジェクトのリリースに自信を持つようにコードをリファクタリングしたいと思います。アーキテクチャの設計にはさまざまな方法があるようですが、最善の方法についていくつかの意見をお願いします。 機能性 ポータルでは、管理者がHTMLテンプレートを構成できます。他の関連する「パートナー」は、IFrameコードをサイトに追加することにより、これらのテンプレートを表示できます。これらのテンプレート内で、顧客は製品を登録および購入できます。APIはWCFを使用して実装されており、外部の企業もシステムとインターフェイスできます。管理者セクションでは、管理者がさまざまな機能を設定し、各パートナーのレポートを表示できます。システムは請求書と電子メール通知を顧客に送信します。 現在のアーキテクチャ 現在、データベースへの読み取り/書き込みにEF4を使用しています。EFオブジェクトは、aspxファイル内で直接使用されます。これにより、サイトを作成している間、迅速な開発が容易になりましたが、dbとUIを密に結合しているため、このように維持することはおそらく受け入れられません。特定のビジネスロジックがEFオブジェクトの部分クラスに追加されました。 質問 リファクタリングの目標は、サイトをスケーラブルで、簡単に保守でき、安全にすることです。 これにはどのようなアーキテクチャが最適ですか?各レイヤーに何があるべきか、DTO / POCO /アクティブレコードパターンを使用する必要があるかどうかなどを説明してください。 DTO / BOを自動生成する強力な方法があるので、追加のレイヤーがあっても、将来の拡張は簡単に実装できますか? プロジェクトをWebFormsからMVCに変換することは有益でしょうか?

2
ASP.NETの背景から来て、PHPに慣れるための良い方法は何ですか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 4年前休業。 現在、ASP.NET環境でツールやWebアプリを構築することに非常に慣れています。C#、ASP.NET、MVC 3、Visual Studioなどが本当に好きなので、私は本当にtbhを離れるつもりはありません。 しかし、今のところ、PHPについてはほとんど何も知りません。それを是正したい欠陥のようです。 PHPを学ぶのに良いリソースとなる本(または他の学習方法)はありますか?明らかに、最初のPHPの本はたくさんありますが、私はすでにWebページの構築に関連する多くのことに慣れており、一部の最初のPHPの本の範囲と互換性がないかもしれないPHP自体に焦点を当てることに興味があります。 私はPHPマニュアルをかなり読みましたが、理想的なほどスムーズに流れていないようです。適切な初心者向けのPHPブックはありますか?これらのサンプルを見ると、ほとんどの本に含まれるまとまりがありません。たくさんの情報がありますが、それは、主要な学習手段よりもコーディング中の参照のように感じられます。

7
プロトタイプと本番レベルのソリューションの違いは何ですか?
この質問は、純粋に学習し、技術的な理解を深めるためのものです。私は完璧な解決策はないことを知っており、この問題は解決策のリストを終わらせる可能性がありますが、すべてのアーキテクトがデモとライブプロジェクトの違いを理解することは非常に重要だと思います。 過去に.Netで多くのデモソリューションを作成しました。私は現在、アーキテクトに割り当てられ、プロダクションレベルのWebソリューションを実装しているため、非常に高いレベルで、デモをプロダクションレベルのソリューションに変換するために何が必要かを尋ねたかったのです。私の理解から、これには(クライアントの要件を機能的に実装する以外に)必要があります: すべてのメソッドのユニットテスト 〜100%のコードカバレッジを確実に実現 すべての例外と可能なポイントカットのロギング-AOPで可能 インターフェース設計パターンの使用、依存関係の注入、おそらくspring.netなどのフレームワークの使用 インストルメンテーションのためのパフォーマンスカウンターとプロファイラーの使用 適切なセキュリティの適用-つまり、Windows認証(クライアントが必要とするものである場合)。 すべてのメソッドのトランザクション管理 ソリューションの新規展開前のWebアプリケーションファイルのバックアップ ほかに何か? 私の質問は、機能/ドキュメントではなく、技術面に関連しています。それ以外の場合は、別の方法に進むためです:-) ありがとうございました。

6
ORMを使用するとどのような種類のWeb開発プロジェクトにメリットがありますか?
最初に、SQLを使用してデータベース作業の95%を完了したと言います。最近、NHibernateやDoctrineなどのさまざまなORMの調査を行いました。 多くのSQLと、ORMが提供するデータベースの移植性を知る必要がないことの利点がわかります。しかし、SQLを理解することでORMとの連携がより効果的になることもわかります。私のキャリアの中で、アプリケーションの最大の変更はデータベースベンダーになるとしか思えません。 私はSQLの作成に非常に慣れており、ORMを使用することでよく教えられる利点を実現していないようなので、ORMのヘビーユーザーへの私の質問は次のとおりです。 どのようなWeb開発プロジェクトがORMの使用から最も恩恵を受けますか?

2
データをキャッシュするか、データベースにヒットする必要がありますか?
私はキャッシュメカニズムを使用していないので、次のシナリオで.netの世界で私のオプションは何なのかと思っていました。 基本的に、ユーザーがカテゴリー(フォルダーと考える)のIDを渡すRESTサービスがあり、このカテゴリーには多数のサブカテゴリーがあり、各サブカテゴリーには1000のメディアコンテナー(ファイル参照オブジェクトと思う)があり、 NASまたはSANサーバー上にある可能性のあるファイル(この場合、ファイルはビデオです)。これらのカテゴリ間の関係は、いくつかの権限ルールとサブカテゴリに関するメタデータとともにデータベースに保存されます。 したがって、UIの観点からは、遅延して読み込まれたツリーコントロールがあり、これはユーザーが各サブフォルダーをクリックすることによって駆動されます(Windowsエクスプローラーと考えてください)。ビデオファイルのURLにアクセスすると、ビデオを見ることができます。 システムが成長するにつれて、ユーザー数は1000に増加し、サブカテゴリとビデオは10000になる可能性があります。 問題は、各リクエストがデータベースにヒットする現在の動作方法を続行する必要があるか、それともデータのキャッシュについて考える必要があるかです。 IIS 6/7とAsp.netを使用しています。

1
Identity ServerはASP.NET Core Identityが提供しないことを何を提供しますか
ASP.NET Coreを使用して新しいWebサイトを作成するときに、全体像を把握しようとしています。私のウェブサイトのユーザーがFacebookやGoogleなどのソーシャルメディアに登録してログインできるようにしたいと考えています。リソースがWebAPIにリソースを要求するときに登録されると、リソース要求をユーザーごとにパーソナライズできるように、ログインしているユーザーを知る必要があります。私はASP.NET Core Identityを試してみましたが、これは必要な機能の多くを提供しているようです(たとえば、外部プロバイダーへの登録、ログイン、Entity Frameworkを使用したデータベースへのこれらの詳細の格納など)。私が本当に望んでいるよりも少し魔法-多くのチュートリアルは、例えばFacebookと話すためにバックグラウンドでどのように機能するかを説明せずにそれを機能させるためのステップをリストしています。 フロントエンドでは、Aureliaを使用したいと考えています。IdentityServerを使用する多数のチュートリアルに気づきました。OpenIDConnectの実装であると理解しています。 IdentityServerに関するビデオを見てきた... IdentityServerでASP.NET Core Identityを使用できることを理解しています。私が得られないのは、それがASP.NET Core Identityを実装するだけでは役に立たないかどうかです。(つまり、Aurelia、ASP.NET Core Identityを統合するためのチュートリアルを見つけることができないようです...)一般的に、ASP.NET Core Identityを使用するだけでなく、Identity Serverをさらに複雑にする利点は何ですか?
9 asp.net  oauth2 

3
ASP.Netの3層アーキテクチャとMVC(モデル、ビューコントローラー)の違い
3層アーキテクチャがASP.NetのMVC(モデル、ビューコントローラー)とどのように異なるかを知りたいのですが、同じアーキテクチャが適用されるようです。 3階層では、我々は持っているUser Services Layer、BusinessLayerとDataAccessLayer、私たちは持っている一方でModel、View、とController。これは同じアーキテクチャのようです。 2つのアーキテクチャの実際の違い、各レイヤーの違いについて説明できますか?

7
データアクセスレイヤーのボーガーティング
状況:dbaは、DALコード全体をTFSでチェックアウトしたままにするオフサイトの請負業者です。フロントエンドの開発者として、列を追加したり、プロシージャなどを調整したりできます。この男がメールに応答して作業を行うのを待つ必要はありません。 質問:データの整合性とチーム間の平和への愛と幸福を維持しながら、より迅速で機敏な開発を可能にする推奨ソリューション/プロセスは何でしょうか?


4
ベストプラクティス-ウェブサイト上の画像の処理
古いeコマースサイトをMVC 3に移植していますが、デザインの改善を活用したいと考えています。このサイトには現在、商品画像が3つのサイズで保存されています:サムネイル、中(リストに表示)、拡大して拡大表示。現在、正確なサイズの3つの個別の画像をアップロードする必要があり、サイトが期待するものと一致する3つの異なる名前を提供する必要があります。 サイズの大きいファイルを1つだけアップロードし、サイトで必要なサイズに縮小して、ユーザーの好み、フォームファクター(モバイル、iPadなど)に応じてサムネイルとリストのサイズを柔軟に変更したい、デスクトップなど)なので、同じ画像の多くのコピーが必要になる場合があります。私の質問は、画像を縮小してアップロード時に数回保存する必要があるかどうかです。その場合、適切なストレージ/命名規則は何ですか? もう1つのアイデアは、単一の画像のみを保存し、クライアントに提供する前にプログラムでサイズを変更することです。誰かがこれを行ったことがありますか、さらにいくつかのマシンサイクル以外のトレードオフは何ですか?メモリ内の一時イメージをクライアントに渡すにはどうすればよいですか(URLはありません)。

8
「スーパー」サイトに対して、またそれに対してどのような考慮が必要ですか?
私の会社は、すべてのティア1(つまり、トップエンドの本番)アプリケーションとサイトを1つの包括的なコードベースに統合することを検討しています。 理論は、それらの権限、デザイン、および全体的な機能を均質化し、集中管理できるというものです。 各アプリケーションの基盤となるデータ構造は非常に異なり、ビジネスルールは複雑で、各アプリケーションに固有であり、既存のアプリケーションの全体的なコードベースは非常にバラバラで無視されているため、このアプローチに終わりはありません。 編集: 現在の環境は、最初に書かれて以来ほとんど愛されていない3つのASP.Net 1.1サイト(主に社内の経験豊富な開発者がいないため)と、以前はASP.Net 1.1サイトでもあった1つのMVC2アプリケーションで構成されています。昨年アップグレードされました。C#のみで書き込みます。 同社はかなり小規模で、約50人のスタッフがいます。3人は実際の開発者です。管理(IT管理であっても)には、ITプロジェクトのプロジェクト管理(したがって、専門用語やビジネスへの影響に関するある程度の知識)以外のITの背景や経験はありません。 アプリケーションは主に、同社が販売する製品をサポートするオンラインサービスです。同社はソフトウェアを直接販売していません。 したがって、この状況全体をかなり具体的で答えられる質問で言い表す:現在の条件(つまり、古いコードベース、複雑なビジネスシステムおよびルール)を前提として、すべてのシステムを1つの包括的なソリューションにまとめようとすることに対する、または反対する説得力のある理由は何ですか? )?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.