> For the complete documentation index, see [llms.txt](https://dotnetweekly.gitbook.io/weekly/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dotnetweekly.gitbook.io/weekly/2017/2017.04/number-31.md).

# .NET Weekly #31

## Cloud & Web

1. [ASP.NET Core Web Servers: Kestrel vs IIS Feature Comparison and Why You Need Both](https://stackify.com/kestrel-web-server-asp-net-core-kestrel-vs-iis/?utm_source=DNK-224416)
2. [Announcing SignalR 2.2.2 (Preview 1)](https://blogs.msdn.microsoft.com/webdev/2017/04/13/announcing-signalr-2-2-2-preview-1/)
3. [Ubuntu 17.04 supports widest range of container capabilities](https://insights.ubuntu.com/2017/04/13/ubuntu-17-04-supports-widest-range-of-container-capabilities)

## Tooling & Libraries

1. [Open sourced Xamarin’s MQTT implementation](https://github.com/xamarin/mqtt)
2. [Akka.NET v1.2 Stable Release](https://github.com/akkadotnet/akka.net/releases/tag/v1.2)
3. [Visual F# Tools Announcement for April](https://github.com/Microsoft/visualfsharp/issues/2833)
4. [Visual Studio for Mac to the Cloud and Beyond](https://blogs.msdn.microsoft.com/visualstudio/2017/04/12/visual-studio-for-mac-to-the-cloud-and-beyond/)

## Architecture & Databases

1. [Flexibility Equates to Lower Quality](http://www.yegor256.com/2017/04/11/flexibility-equates-lower-quality.html)
2. [What is the problem with key-value databases and how wide column stores solve it.](https://indexoutofrange.com/What-is-the-problem-with-key-value-databases-and-how-wide-column-databases-solve-it/)
3. [Duplicate Code Isn't That Bad](https://dzone.com/articles/duplicate-code-isnt-that-bad)

## Programming Languages

1. [Exploring Tuples as a Library Author](http://blog.marcgravell.com/2017/04/exploring-tuples-as-library-author.html)
2. [Announcing TypeScript 2.3 RC](https://blogs.msdn.microsoft.com/typescript/2017/04/10/announcing-typescript-2-3-rc/)
3. [An interesting (if unsuccessful) look into predicting horse races via machine learning with F#](https://medium.com/@ThisisZone/an-interesting-if-unsuccessful-look-into-predicting-horse-races-via-machine-learning-with-f-7563090c7582)
4. [Method overload resolution in C# 6.0: an interesting bug story](http://codewithstyle.info/method-overload-resolution-in-c-6-0-an-interesting-bug-story/)
5. [.NET Futures - Type Classes and Extensions](https://www.infoq.com/news/2017/04/DotNet-Type-Classes)

## Runtime

1. [Mono 5.0.0 Release Notes](http://www.mono-project.com/docs/about-mono/releases/5.0.0/#runtime)
2. [RyuJIT and the never-ending ThreadAbortException](http://labs.criteo.com/2017/04/ryujit-never-ending-threadabortexception/)
3. [.NET Framework April 2017 Monthly Rollup](https://blogs.msdn.microsoft.com/dotnet/2017/04/11/net-framework-april-2017-monthly-rollup/)
4. [Webinar recording: Exploring .NET’s memory management](https://blog.jetbrains.com/dotnet/2017/04/07/webinar-recording-exploring-nets-memory-management/)
5. [The CLR Thread Pool 'Thread Injection' Algorithm](http://mattwarren.org/2017/04/13/The-CLR-Thread-Pool-Thread-Injection-Algorithm/)

## Other

1. [Intel Haskell Compiler finally got published](https://github.com/IntelLabs/flrc)
2. [MailKit Officially Replaces .NET’s SmtpClient](https://www.infoq.com/news/2017/04/MailKit-MimeKit-Official)
3. [Testing the Windows Subsystem for Linux](https://blogs.msdn.microsoft.com/wsl/2017/04/11/testing-the-windows-subsystem-for-linux/)
4. [Optimizing Rust Struct Size - A 6-month Compiler Development Project](http://camlorn.net/posts/April%202017/rust-struct-field-reordering.html)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://dotnetweekly.gitbook.io/weekly/2017/2017.04/number-31.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
