SSED
SSED

Reputation: 525

RedisSessionStateProvider ERR unknown command 'EVAL'

When I run Microsoft.Web.Redis.RedisSessionStateProvider locally, I get the following error:

StackExchange.Redis.RedisServerException: ERR unknown command 'EVAL'

I have installed the latest RedisSessionStateProvider from nuget.

Web config:

 <sessionState mode="Custom" customProvider="MySessionStateStore">
  <providers>

    <add name="MySessionStateStore" type="Microsoft.Web.Redis.RedisSessionStateProvider" host="" accessKey="" ssl="false" />
  </providers>
</sessionState>

Upvotes: 12

Views: 16627

Answers (3)

Klaas van Schelven
Klaas van Schelven

Reputation: 2528

This can also happen if your server instance is greater than or equal to 2.6, but the EVAL command has been renamed explicitly. The latter is something that is sometimes done for security reasons on redis servers that are offered as a service (e.g. CloudFoundry)

Upvotes: 0

Vahid Montazer
Vahid Montazer

Reputation: 1301

You should upgrade your Redis as @SSED said. You can download 32 bit version of redis here: https://github.com/cuiwenyuan/Redis-Windows-32bit

Also if there is another error "Active machine refused It" you should run redis-server.exe file after downloading it.

Upvotes: 3

SSED
SSED

Reputation: 525

I was running a version of redis server pre 2.6.

Quick easy way to get redis server for windows is via chocolatey.

Install from here: https://chocolatey.org/

Then get redis using command from here: https://chocolatey.org/packages/redis-64/3.0.501

Then go to C:\ProgramData\chocolatey\lib\redis-64 and run redis-server.exe

You'd then need to install as a service (see notes in C:\ProgramData\chocolatey\lib\redis-64)

OR just get a windows installer msi from here (even easier if you don't mind the version too much i.e. just for development) https://github.com/MSOpenTech/redis/releases

Upvotes: 18

Related Questions