タグ付けされた質問 「c#」

C#(「seesharp」と発音)は、Microsoftによって開発された、静的に型指定された高レベルのマルチパラダイムプログラミング言語です。C#コードは通常、Microsoftの.NETファミリのツールとランタイムを対象としています。これには、.NET Framework、.NET Core、Xamarinなどが含まれます。このタグは、C#またはC#の正式な仕様で記述されたコードに関する質問に使用します。

5
複数のタスクにasync / awaitを使用する
私は、それぞれの操作を返すのいずれかで完全にasynchrounousあるAPIクライアント、使用しているTaskかTask<T>、例えば: static async Task DoSomething(int siteId, int postId, IBlogClient client) { await client.DeletePost(siteId, postId); // call API client Console.WriteLine("Deleted post {0}.", siteId); } C#5のasync / awaitオペレーターを使用して、複数のタスクを開始し、すべてが完了するのを待つための正しい/最も効率的な方法は何ですか? int[] ids = new[] { 1, 2, 3, 4, 5 }; Parallel.ForEach(ids, i => DoSomething(1, i, blogClient).Wait()); または: int[] ids = new[] { 1, …

30
C#でのvarキーワードの使用
ロックされています。質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答や相互作用を受け入れていません。 C#3で 'var'キーワードの使用について同僚と話し合った後、varを介した型推論の適切な使用についての人々の意見はどうだったのでしょうか。 たとえば、私は疑わしい状況でvarを怠惰に使用しました。例:- foreach(var item in someList) { // ... } // Type of 'item' not clear. var something = someObject.SomeProperty; // Type of 'something' not clear. var something = someMethod(); // Type of 'something' not clear. varのより正当な用途は次のとおりです。 var l = new List<string>(); // Obvious what l will be. …
406 c#  type-inference  var 

30
.NET文字列を切り捨てる方法を教えてください。
文字列の長さが指定された値を超えないように文字列を切り捨てたいのですが。私はデータベーステーブルに書き込んでおり、書き込む値が列のデータ型の制約を満たすようにしたいと考えています。 たとえば、次のように記述できればよいでしょう。 string NormalizeLength(string value, int maxLength) { return value.Substring(0, maxLength); } 残念ながら、maxLength一般的に文字列の境界を超えているため、例外が発生しますvalue。もちろん、次のような関数を書くこともできますが、このようなものがすでに存在することを期待していました。 string NormalizeLength(string value, int maxLength) { return value.Length <= maxLength ? value : value.Substring(0, maxLength); } このタスクを実行するわかりにくいAPIはどこにありますか?ありますか?
406 c#  .net  string  truncate 

10
プレーンな古いCLRオブジェクトとデータ転送オブジェクト
OverаэтотвопросестьответынаStack Overflowнарусском:НаглядныйпримерразличияDTO、POCO(POJO)иValue Object POCO = Plain Old CLR(またはそれ以上:クラス)オブジェクト DTO =データ転送オブジェクト この投稿には違いがありますが、率直に言って、私が読んだほとんどのブログでは、DTOの定義方法についてPOCOについて説明しています。DTOは、アプリケーションのレイヤー間でデータを移動するために使用される単純なデータコンテナーです。 POCOとDTOは同じものですか?
405 c#  .net  poco  dto 


3
.NET JIT潜在的なエラー?
次のコードは、Visual Studio内でリリースを実行するときと、Visual Studioの外でリリースを実行するときの出力が異なります。Visual Studio 2008を使用しており、.NET 3.5をターゲットにしています。.NET 3.5 SP1も試しました。 Visual Studioの外部で実行している場合、JITが起動します。(a)C#で微妙な問題が発生している、または(b)JITに実際にエラーがある。JITがうまくいかないのではないかと思いますが、他の可能性が不足しています... Visual Studio内で実行したときの出力: 0 0, 0 1, 1 0, 1 1, Visual Studioの外部でリリースを実行したときの出力: 0 2, 0 2, 1 2, 1 2, 理由は何ですか? using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Test { struct IntVec { public int x; public int …
404 c#  jit 

26
WCFクライアントの「using」ブロックの問題の最善の回避策は何ですか?
usingブロック内でWCFサービスクライアントをインスタンス化するのが好きです。これは、実装するリソースを使用するための標準的な方法であるためですIDisposable。 using (var client = new SomeWCFServiceClient()) { //Do something with the client } ただし、このMSDNの記事に記載されているように、WCFクライアントをusingブロックでラップすると、クライアントがエラー状態(タイムアウトや通信の問題など)になるエラーをマスクできます。簡単に言えば、Dispose()が呼び出されると、クライアントのClose()メソッドが起動しますが、障害のある状態であるためエラーがスローされます。その後、元の例外は2番目の例外によってマスクされます。良くない。 MSDN記事で推奨されている回避策は、usingブロックの使用を完全に回避し、代わりにクライアントをインスタンス化して次のようなものを使用することです。 try { ... client.Close(); } catch (CommunicationException e) { ... client.Abort(); } catch (TimeoutException e) { ... client.Abort(); } catch (Exception e) { ... client.Abort(); throw; } usingブロックと比較して、それは醜いと思います。そして、クライアントが必要になるたびに書くコードがたくさん。 幸い、私はIServiceOrientedでこのような他のいくつかの回避策を見つけました。あなたは次から始めます: public delegate void UseServiceDelegate<T>(T proxy); …
404 c#  vb.net  wcf  using  wcf-client 

12
統合マネージパイプラインモードでは適用されないASP.NET設定が検出されました
DotNetOpenAuth SDK-3.4.5.10201.vsixをインストールしましたが、機能しません。ローカルで動作します(localhostとして実行した場合)が、公開しようとしても機能しません。 表示されるIISエラーメッセージは エラーの概要 HTTPエラー500.22-内部サーバーエラー 統合マネージパイプラインモードには適用されないASP.NET設定が検出されました。 そして Module ConfigurationValidationModule Notification BeginRequest Handler StaticFile Error Code 0x80070032 次に、問題を解決する方法についていくつかの提案があります。 あなたが試すことができるもの: 構成をsystem.webServer/modulesセクションに移行します 。これは、手動で行うことも、コマンドラインからAppCmdを使用して行うこともできます(例:) %SystemRoot%\system32\inetsrv\appcmd migrate config "Default Web Site/"。を使用AppCmdしてアプリケーションを移行すると、アプリケーションは統合モードで動作し、クラシックモードおよび以前のバージョンのIISで引き続き動作します。 このエラーを無視しても問題ない場合はsystem.webServer/validation@validateIntegratedModeConfiguration 、falseに設定して無効にでき ます。 または、アプリケーションをクラシックモードのアプリケーションプールに切り替えます(例:) %SystemRoot%\system32\inetsrv\appcmd set app "Default Web Site/" /applicationPool:"Classic .NET AppPool"。これは、アプリケーションを移行できない場合にのみ行ってください。 (「Default Web Site」と「Classic .NET AppPool」をアプリケーションパスとアプリケーションプール名に設定します) しかし問題は、私がISSサーバーの所有者ではないため、ISSサーバーにアクセスできないことです。これを解決する方法はありますか?
401 c#  asp.net  iis  .net-4.0  iis-7.5 


6
Invoke()とBeginInvoke()の違いは何ですか
ただ、どのような違い不思議BeginInvoke()とInvoke()されていますか? 主にそれぞれが何のために使われるか。 編集:スレッド化オブジェクトを作成することと、それに対してinvokeを呼び出すこととBeginInvoke()、デリゲートを呼び出すことの違いは何ですか?またはそれらは同じものですか?

9
Webリクエストごとに1つのDbContext ...なぜですか?
Entity Frameworkの設定方法を説明する記事をたくさん読んでいます DbContextて、さまざまなDIフレームワークを使用するHTTP Webリクエストごとに1つだけが作成および使用されるます。 そもそもなぜこれが良いアイデアなのでしょうか?このアプローチを使用すると、どのような利点がありますか?これが良い考えとなる特定の状況はありますか?この手法を使用して、DbContextリポジトリメソッドの呼び出しごとにをインスタンス化するときに実行できないことはありますか?


6
ASP.NET Web APIを保護する方法[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 3年前休業。 サードパーティの開発者がアプリケーションのデータにアクセスするために使用するASP.NET Web APIを使用してRESTful Webサービスを構築したいと思います。 OAuthについてはかなり読みましたが、OAuthは標準のようですが、OAuthがどのように機能するか(そして実際に機能するか!) 実際にビルドして動作し、これを実装する方法を示すサンプルはありますか? 多数のサンプルをダウンロードしました: DotNetOAuth-初心者の観点からはドキュメントは絶望的です Thinktecture-構築できない 私はまた、(のような単純なトークンベースのスキームを示唆しているブログを見てきたこれを) -これは、車輪を再発明するように思えるが、それは概念的にはかなり簡単であるという利点を持っています。 SOにはこのような質問がたくさんあるようですが、良い答えはありません。 この空間で皆は何をしているのですか?


4
現在のユーザーの一時フォルダーを取得する方法
現在、次の関数を使用して現在のユーザーの一時フォルダーパスを取得しています。 string tempPath = System.IO.Path.GetTempPath(); 一部のマシンでは、次のような現在のユーザーの一時フォルダーパスが表示されます。 C:\ Documents and Settings \ administrator \ Local Settings \ Temp \ 一部のマシンでは、次のようなシステム一時フォルダパスが表示されます。 C:\ Windows \ TEMP MSDNドキュメントでは、上記のAPIは現在のシステムの一時フォルダーを返すとも述べています。 次のように、現在のユーザーの一時フォルダーパスを取得できる他のAPIはありますか? C:\ Documents and Settings \ administrator \ Local Settings \ Temp \

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