ASP.NET Web APIからAzure Redis Cacheに接続できない
ASP.NET Web APIからAzure Redis Cacheにアクセスしたいのですが、
こちらの公式ドキュメントやブログ等を参考に、コントローラーを実装したのですが接続ができません。
Azure Redis Cache の使用方法
ASP.NET Web API で Azure Redis Cache を利用する
public class TestController : ApiController
{
private static ConnectionMultiplexer _connection;
public static ConnectionMultiplexer Connection
{
get
{
if (_connection == null || !_connection.IsConnected)
{
_connection = ConnectionMultiplexer.Connect("myredis.redis.cache.windows.net,abortConnect=false,ssl=true,password=<password>");
}
return _connection;
}
}
public IHttpActionResult Post()
{
try
{
IDatabase cache = Connection.GetDatabase();
cache.StringSet("foo", "bar");
string foo = cache.StringGet("foo");
return Ok(new { foo = foo });
}
catch(Exception e)
{
return InternalServerError(e);
}
}
}
上記のコードだと、
IDatabase cache = Connection.GetDatabase();
以降にブレークポイントが止まらず、
return Ok(new { foo = foo });
まで飛んでしまい、Exceptionも発生していません。
ただ、コンソールアプリケーションで、同じよなコードで実行すると、接続はできています。
class Program
{
private static ConnectionMultiplexer _connection;
public static ConnectionMultiplexer Connection
{
get
{
if (_connection == null || !_connection.IsConnected)
{
_connection = ConnectionMultiplexer.Connect("myredis.redis.cache.windows.net,abortConnect=false,ssl=true,password=<password>");
}
return _connection;
}
}
static void Main(string[] args)
{
IDatabase cache = Connection.GetDatabase();
cache.StringSet("foo", "bar");
string foo = cache.StringGet("foo");
Console.WriteLine(foo);
Console.ReadLine();
}
}
Web APIのコントローラーからの呼び出しには、何か考慮しなければいけない点があるのでしょうか?
よろしくお願いします。
環境
Windows 8.1 Pro
Visual Studio Professional 2015 Version 14.0.24720.00 Update 1
.NET Framework 4.6.1