C#

[ASP.NET MVC] Controller から Json を Camel Case でシリアライズして返す

C#

public class User { public string Id { get; set; } public string Name { get; set; } } public class DefaultController : Controller { [HttpGet] public ActionResult GetPerson() { IEnumerable<User> users; // DB からとってきたりする return Json(users</user>…

画像の解像度を変換する

C#

【注意】画像エンコードのことは全然詳しくないので、本質的に正しいやり方なのか不明。 System.Drawing.Image で読み込んで .SetResolution してもいいのだが、 var image = Image.FromFile(path); image.SetResolution(dpiX, dpiY); System.Drawing は ASP…

TransactionScope のネスト

C#

System.Transactions.TransactionScope は Complete を呼ばない限り Dispose されたときにロールバックしてくれる。 テストとか例外処理とかで便利だ。 using (var ts = new TransactionScope()) { // DB に書き込み ts.Complete(); } ネストしてもつかえる…

HttpClient と using

C#

C# の REST クライアントといえば HttpClient 。コイツは IDisposable の実装なので、例えばこんな感じで using したくなる。 public class MyClient { public async Task<string> Get(string url) { using(var client = new HttpClient()) { var response = await c</string>…

MemoryCache でアプリケーション内キャッシュ

C#

System.Runtime.Caching.Cache を使うと、アプリケーション単位にデータをキャッシュさせることができる。 Web サーバー起動時にデータを読み込んで永続化させたい時などに便利だ。 string GetContent() { var cache = MemoryCache.Default; var content = c…