タグ付けされた質問 「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コードを記述できます。

4
MVCのユーティリティクラス-ASP.NET
だから、今日は、ASP.NET MVCアプリのどこにユーティリティクラスを置くのだろうと思っていましたか?ユーティリティクラスとは、静的であり、機能を実行するためだけに使用されるクラスを意味します。引数としてメールアドレス、件名、本文を受け取るメールを送信するクラスのように。 私はおそらく別のフォルダと名前空間を作成するだけで十分だと思いますが、みんなの意見を得たいと思いました

2
CQRSは過剰設計ではありませんか?
古き良き時代のリポジトリを今でも覚えています。しかし、リポジトリは時間とともにいものになりました。その後、CQRSが主流になりました。彼らは素晴らしく、新鮮な空気の息吹でした。しかし、最近、コントローラーのアクションメソッド(特にアクション自体が何らかのコマンド/クエリハンドラーであるWeb Api)でロジックを正しく維持しないように何度も自問しています。 以前は、そのための明確な答えがありました。すべてのそれらのモックできないシングルトンと全体的ないASP.NETインフラストラクチャでControllerをテストするのは難しいので、テストのためにそれをしました。しかし、時代は変わっており、ASP.NETインフラストラクチャクラスは、今日では(特にASP.NET Coreで)はるかに単体テストに適しています。 典型的なWebApi呼び出しは次のとおりです。コマンドが追加され、SignalRクライアントに通知されます。 public void AddClient(string clientName) { using (var dataContext = new DataContext()) { var client = new Client() { Name = clientName }; dataContext.Clients.Add(client); dataContext.SaveChanges(); GlobalHost.ConnectionManager.GetHubContext<ClientsHub>().ClientWasAdded(client); } } 簡単に単体テスト/モックできます。さらに、OWINのおかげで、ローカルWebApiおよびSignalRサーバーをセットアップし、統合テストを実行できます(ちなみにかなり高速です)。 最近、面倒なコマンド/クエリハンドラを作成するモチベーションが低下し、Web Apiアクションにコードを保持する傾向がありました。ロジックが繰り返されるか、それが本当に複雑で、それを分離したい場合にのみ、例外を作成します。しかし、ここで正しいことをしているかどうかはわかりません。 典型的な最新のASP.NETアプリケーションでロジックを管理するための最も合理的なアプローチは何ですか?コードをコマンドおよびクエリハンドラーに移動するのが妥当なのはいつですか?より良いパターンはありますか? 更新。DDD-liteアプローチに関するこの記事を見つけました。したがって、コードの複雑な部分をコマンド/クエリハンドラに移動するという私のアプローチは、CQRS-liteと呼ばれるようです。

7
C#コードでHTMLを作成する最良の方法は何ですか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?質問を更新して、1つの問題のみに焦点を当てるこの投稿を編集する。 5年前に閉鎖されました。 私は、マークアップは、コードビハインドではなく、マークアップのままにしておくべきだと考えています。 コードビハインドでHTMLを構築することは許容できると思う状況になりました。ベストプラクティスが何であるか、または何をすべきかについて、コンセンサスを持ちたいと思います。 コードビハインドでhtmlをビルドすることが受け入れられるのはいつですか?このhtmlを作成する最良の方法は何ですか?(例:文字列、StringBuilder、HTMLWriterなど)
15 c#  asp.net  html 

3
ASP.NET MVCとREST API + Webページの使用のためのWCF
プログラムによるサービス指向の使用と人間の相互作用の議論は明確だと思います。 しかし、プログラムAPIと同じAPIで接続されたデータを使用するWebサイトの両方を使用するアプリケーションを作成する場合、ASP.NETのみを使用する方が有利でしょうか? ASP.NETとWCFを統合して同じアプリケーションで動作させるのはどれくらい簡単ですか?

2
jQueryは、JavaScriptMVC、BackboneJS、SproutCore、Knockoutなどのフレームワークとどこに適合しますか?
私はこの2年間、JQueryを喜んで使用してきましたが、JQueryを使用して非常にクールな機能を作成することに成功しました。また、Webの将来が現在のクライアント側の道を進むと信じています。 しかしながら... 次の課題は、さまざまなコントローラーフレームワークの形でやってくるようです:KnockoutJS、BackboneJS、SproutCore、JavaScriptMVC(リストは続きます)。 Additonally、いくつかの素晴らしいがあるAMDローダーのような使用のためのツールRequireJSまたはLabJSなどしかし、jQueryのは、今持っているdefineとthen機能が焼きに。 すべてを追跡することはますます難しくなっています... そして今、私の仕事は、何らかの形のクライアント側のMVCまたはMVVMフレームワークを使用するための戦略的方向を評価/決定することであるように思われます...しかし、私には非常に多くの質問があります。 上記のさまざまなコントローラーフレームワークとJQuery はどこに適合しますか? JQuery はそれぞれと一緒に使用されていますか、またはそれらのいくつかは独自の「JQueryスタイルのバージョン」を焼き付けていますか? 上記のさまざまなコントローラーフレームワークのいずれかを実装する場合、RequireJS などのツールは引き続き必要ですか? んdefineとthen能力焼きにjQueryの 今取って代わる AMDローダーは、上述しましたか? どれが最もモジュール式のようですか?(下記の注を参照) 注: 将来のフレームワークで望まないことの1つは、使用しない機能を大量に取り込む必要があることです。つまり、真にモジュール化されたフレームワークを使用します。たとえば、jQuery UIを使用するには、実際には使用しない可能性のある他の多くのコアライブラリを取り込む必要があります。 私はそれぞれを実験しますが、いくつかの実際のフィードバックは素晴らしいでしょう。私はいくつかの「似たような」質問を見てきましたが、上記の歪曲に実際に答えた人はいません。 前もって感謝します!

3
Web設定で接続文字列を設定するのは良い習慣ですか?
最近、仕事で同僚の何人かと議論しました。彼らは、.DLLに暗号化された文字列接続がある方が良いと言ったからです。そして、web.configで暗号化された文字列接続を暗号化しないのはなぜだと言いましたか?エンティティフレームワークは、たとえば、アプリケーションのWeb構成で接続の名前を検索するため、同じであり、より優れています。セキュリティポイントから、何がベストか、何がベストプラクティスかを知りたいですか?

9
Silverlightは目を楽しませるためだけのものですか、それともビジネスで使用できますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 6年前に閉鎖されました。 Silverlightが目を見張るような素晴らしいWebサイトを作成する可能性があることを認めると、それを使用して深刻なビジネス目的を持つ実用的なWebアプリケーションを作成する正当な理由はありますか?私が持っている新しい割り当てにそれを使用したい(それを学びたい)、それは私たちの組織で使用されているデータインターフェースを追跡するウェブベースのアプリケーションを構築することですが、それを正当化する方法がわかりません、自分自身にも。 これについて何か考えはありますか?正当化できない場合は、すでに100回使用した(と思われる)同じ古い疲れたまっすぐなASP.NETアプローチを使用してアプリを構築する必要があります。

1
データとファイルの混合転送にmultipart / form-dataを使用するのはなぜですか?
私はC#で作業しており、作成中の2つのアプリ間で通信を行っています。Web APIとJSONが好きになりました。現在、2つのサーバー間でテキストデータとファイルを含むレコードを送信するルーチンを作成しています。 インターネットによると、ここに示すようにmultipart / form-dataリクエストを使用することになっています。 SO質問「C#クライアントからのマルチパートフォーム」 基本的に、次のような形式に従ってリクエストを手動で記述します。 Content-type: multipart/form-data, boundary=AaB03x --AaB03x content-disposition: form-data; name="field1" Joe Blow --AaB03x content-disposition: form-data; name="pics"; filename="file1.txt" Content-Type: text/plain ... contents of file1.txt ... --AaB03x-- RFC 1867-HTMLでのフォームベースのファイルアップロードからコピー この形式は、優れたJSONデータに慣れている人にとって非常に苦痛です。したがって、明らかに解決策は、JSONリクエストを作成し、Base64でファイルをエンコードして、次のようなリクエストで終わることです。 { "field1":"Joe Blow", "fileImage":"JVBERi0xLjUKJe..." } そして、好きな場所でJSONのシリアル化と逆シリアル化を利用できます。さらに、このデータを送信するコードは非常に簡単です。JSONシリアル化用のクラスを作成し、プロパティを設定するだけです。ファイル文字列プロパティは、いくつかの簡単な行で設定されます。 using (FileStream fs = File.Open(file_path, FileMode.Open, FileAccess.Read, FileShare.Read)) { byte[] file_bytes = …

2
ASP.NETアプリケーションの展開を自動化するJenkins
Jenkinsを使用してASP.NET Webアプリケーションの展開を自動化/半自動化する可能性はありますか。制御されていないユーザーがユーザーIDとパスワードを入力する必要があるため、制御された環境または制御されていない環境にすることができます。ターゲットから宛先にファイルをコピーし、WebファームシナリオでSQLスクリプトを実行する方法を探しています。 編集 現在、アプリケーションをデプロイするために、batファイルを使用してapppool / sql cmdなどをxcopy / configureしています。ただし、これを機能させるには、プロダクションサポートチームがソースコードをダウンロードし、プロジェクトをビルドし、batファイルを実行してアプリケーションをデプロイする必要があります。 ここで、ユーザーがソースコードをダウンロードせずに展開を自動化し、エンドユーザーがURLにアクセスしてユーザーIDとパスワードのパラメーターを入力し、svnタグを選択するだけで展開されるようになります。ただし、Jenkinsは匿名ログインで実行されているため、スクリプトを実行する権限がないため、既存のbatファイルは機能しません。 それで、私はこの種の状況に代わるものが存在するかどうか知りたいです。入力されたユーザーIDとパスワードを使用してユーザーコンテキストを偽装し、既存のバッチファイルをそれ以上変更せずに実行できるようにするとよいでしょう。それが不可能な場合は、他のアイデアも検討したいと思いますが、パペットなどの自動ツールを選択する柔軟性がないため、これらのバッチファイルを使用する必要があります。

6
ゼロから構築するのではなく、なぜ確立されたCMSを選択するのですか?
今後数週間の私の研究の多くは、さまざまなCMSの研究になります。エピサーバーとウンブラコについては簡単に見てきました。これらのシステムを読みながら、コンテンツ管理機能を提供することは、これらの(かなり大規模な)CMSプラットフォームの多くの詳細と構造を学ぶことなく達成できると考えざるを得ません。 過去には、開発者としての私の役割を編集者の役割とは別にしなければならないプロジェクトが与えられました(理にかなっています)。つまり、サイトのデザインと機能を開発し、クライアントのコンテンツを更新する仕事が私の仕事でした。また、テキスト入力や写真のアップロードなどを受け入れるページがいくつかある「ポータル」を実装することでこれを達成しました(基本的には、彼らが望むどんなコンテンツでも)、この新しいコンテンツをデータベースに記録してから、設計により、コードビハインドはこのすべてをデータベースから関連するコントロール(リピーターなど)に読み取ります。 私にとって、これは、クライアントがコンテンツを管理してソリューションで展開するのに十分効果的な方法でした。私は間違っていることを知っています-そして、CMSが一から構築されたものよりも望ましいことを知っていますが、コストの問題以外に、なぜですか?
13 asp.net  cms 

4
マルチテナントシステムの拡張性をどのように管理しますか?
現在、いくつかの大きなWebベースのマルチテナント製品がありますが、すぐにテナント固有のカスタマイズが多数行われることがわかります。 あちこちの余分なフィールド、おそらく余分なページ、またはワークフローの途中の追加のロジック-そのようなこと。 これらのカスタマイズの一部は、コア製品に組み込むことができ、それは素晴らしいことです。それらのいくつかは非常に具体的であり、他の人の邪魔になります。 これを管理するためのいくつかのアイデアを念頭に置いていますが、どれもうまく拡張できないようです。明らかな解決策は、クライアントレベルの設定を多数導入し、クライアントごとにさまざまな「機能」を有効にすることです。それの欠点は、もちろん、非常に複雑で混乱していることです。本当に膨大な数の設定を導入でき、時間の経過とともにさまざまなタイプのロジック(プレゼンテーション、ビジネス)が手に負えなくなる可能性があります。次に、クライアント固有のフィールドの問題があります。これは、既存のテーブルに多数のNULL可能フィールドを追加するだけでなく、よりクリーンなものを要求します。 では、これを管理するために人々は何をしているのでしょうか?Force.comは拡張性のマスターのようです。明らかに、彼らは一からプラットフォームを作成し、それは超拡張可能です。WebベースのUIを使用して、ほぼすべてに追加できます。FogBugzは、実際にForceに触発された可能性のある堅牢なプラグインモデルを作成するのと似たようなことをしました。私は彼らがそれに多くの時間とお金を費やしたことを知っています。もし私が間違っていなければ、意図は将来の製品開発のために実際に内部で使用することでした。 構築したいと思われるかもしれませんが、おそらくそうすべきではないようです。:) プラガブルアーキテクチャへの大規模な投資が唯一の方法ですか?これらの問題をどのように管理し、どのような結果を目にしていますか? 編集: FogBugzはかなり堅牢なプラットフォームを構築し、それを使用して画面をまとめることで問題を処理したかのように見えます。それを拡張するには、ISearchScreenGridColumnなどのインターフェイスを実装するクラスを含むDLLを作成し、それがモジュールになります。多数の開発者がいて、数か月間作業したことを考えると、構築するのに莫大な費用がかかったと確信しています。さらに、その表面積はおそらく私のアプリケーションのサイズの5%です。 現在、Force.comがこれを処理する正しい方法かどうかを真剣に考えています。そして、私はハードコアASP.Netの男なので、これは自分自身を見つけるのに奇妙な立場です。

2
Webアプリケーションのクライアント側に5000の要素を保存[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 ASP.Net開発者向けの電話インタビューがありました。最初の入門的な内容の後、インタビュアーが最初の技術的な質問をしてくれました。 「Webアプリケーションの各ユーザーのクライアント側に5000要素をどのように保存しますか」。 私の答えは、 各要素の平均サイズは?クライアント側にこれだけのデータを保存する必要がありますか?それをデータベースに保持し、これを何らかの方法でユーザーセッション/クライアントIDにリンクすることはできません。 彼の返事は「いいえ、各要素はint / string、通常のテーブル行を含む約8つのフィールドを持つレコードであると考えて、クライアント側でどのように保存するか教えてください」でした。 「セッションで保持することもできますが、セッションは各ユーザーのサーバー側で維持されるため、コストが高くなる可能性があります。または、他のオプションはその量のデータをCookieに保存することです」と私は言っていませんその量のデータをCookieに保存できるかどうかを確認してください。HTML5ストレージオプションはそこにあると述べましたが、私はそれを扱っていません。SQLiteに基づいているため、理論的にはその量のデータを格納できます。 そこに面接官が多少皮肉に言ったので、あなたはウェブ開発で3年の経験があり、面接を終了しました。 何を間違えたのだろうか?または、クライアント側でデータを保存することに関して私が見落としている本当に基本的なものがあります。

2
GPLまたはAGPL Web Application Framework / CMSを使用する場合の法的リスクは何ですか?
SOでこれを尋ねようとしましたが、ここで紹介されました... Composite C1などのGPLを使用したWebアプリケーションフレームワークを使用しても、会社がこのフレームワークに対して記述したソースコードを共有する義務はない、と言うのは正しいですか? それがAGPLの目的です、私は正しいですか? これは、KendoUIのようなJavascriptフレームワークにも適用されますか? GPLでは、ダウンロード用に提供する場合、フレームワークに加えた変更を他の人が利用できるようにする必要があります。 言い換えれば、単にWebサイトのコンテンツをブラウザにロードするだけでは、そのソフトウェアを「伝達」したり「配布」したりするわけではありません。 私はGPLウェブフレームワークを避けるべきだと主張してきましたが、今では調査後に間違いがあると確信していますが、他の意見を聞きたいですか? セス

4
.Netカスタムメンバーシッププロバイダーを使用/作成することの短所は何ですか?
最近、私はSOに次の質問を投稿しました:https : //stackoverflow.com/questions/7197337/using-asp-net-membership-provider-with-an-existing-user-database お気づきかもしれませんが、「カスタムメンバーシッププロバイダー」を作成/実装することが道であるように見えたという自分自身の質問に答えることになりました。 文字通り、数分後、私はこの質問に出くわしました:https : //stackoverflow.com/questions/7222306/simple-login-attempt-counter-using-mvc-3-and-ajax/7222407#7222407 私は、.Netメンバーシッププロバイダーが「多くのレベルでひどい」と答え、コメントを返そうとします。認めますが、これはメンバーシッププロバイダーを使用するのはこれが初めてですが、確かに滑らかに見えました。 「ひどい」主張を裏付けるものは見たことがありませんので、「ひどい」何かを実装する前に、コミュニティからフィードバックをもらいたいと思っていました。

4
複数の環境でのGoogleアナリティクス
Google Analyticsを組織で使用することを計画しており、セットアップを担当しています。複数の環境に対処する方法について疑問に思っていました。開発中およびQA中にデータを収集する(または別の分析アカウントにデータを収集する)ことは避けたいのですが、サイトが運用環境に移行したとき(明らかに)にしたいのです。 複数の環境とGoogle Analyticsにどのように対処しますか? Googleアナリティクスに複数のアカウントを設定し、環境に応じていずれかを使用していますか? それが重要な場合は、ASP.NET 2.0を使用しています。

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