using (ConnectionMultiplexer connection = ConnectionMultiplexer.Connect("redisIP:6379,allowAdmin=true"))
{
Model.SessionInstances = connection.GetEndPoints()
.Select(endpoint =>
{
var status = new Status();
var server = connection.GetServer(endpoint); // Exception thrown here!
status.IsOnline = server.IsConnected;
return status;
});
}
위 코드는 ASP.NET ASPX 페이지의 코드 숨김에서 실행됩니다. 나는 아주 잘 작동하는 커맨드 라인 프로그램에서 실행되는 비슷한 코드를 가지고 있는데, 내가 여기서 잘못하고있는 것이 확실하지 않다. 유일한 차이점은 코드가 람다 대신에 foreach
루프를 사용한다는 것입니다. StackExchange.ConnectionMultiplexer.GetServer가 작동하지 않습니다.
이 코드를 실행할 때마다
, 나는 내가 매우 동일한 연결에서 엔드 포인트를 얻고으로이 이상한 것을 발견 예외The specified endpoint is not defined
를 얻을. 리턴되는 엔드 포인트가 올 Y 르다.
내가 뭘 잘못하고 있니?
나는 새 연결 모든 페이지로드를 개방하지 말아야하지만, 이것은 단지 나를 위해 자주 액세스 관리자 페이지입니다 실현 않는다; 그래서 나는 성능 오버 헤드에 대해 걱정하지 않는다. 또한 저장된 연결은 특정 공급자를 추상화하는 CacheClass 내부에 숨겨져 있습니다.