-
Notifications
You must be signed in to change notification settings - Fork 23
Samples
Set (multiple) startup project(s):
- WPF (NET Core 3.1 and NET Framework 4.72) with EntityChangesViewModel example (Joker.WPF.Sample.csproj). If the OData service is running, you can run multiple WPF instances and all will be refreshed via PubSub after Http POST, PATCH, PUT or DELETE. WPF repository.
- OData server with SqlTableDependencyRedisProvider (SelfHostedODataService.csproj)
- Console app with SqlTableDependencyProvider and SqlTableDependencyRedisProvider (SqlTableDependency.Extensions.Sample.csproj)
git clone https://github.com/tomasfabian/SqlTableDependency.Extensions.git
CD SqlTableDependency.Extensions
https://www.docker.com/products/docker-desktop
Start Joker.OData web service endpoint and its dependencies (SQL Server, Redis):
docker compose build
docker compose up -d
Stop:
docker compose down
Or use the following commands in Powershell or command line:
docker run --name sql -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=<YourNewStrong@Passw0rd>" -p 1401:1433 -d mcr.microsoft.com/mssql/server:2017-latest
Test SQL Server:
docker exec -it sql /opt/mssql-tools/bin/sqlcmd -S 127.0.0.1,1433-U SA -P "<YourNewStrong@Passw0rd>"
1> SELECT GETDATE()
2> GO
docker run --name redis-server -p 6379:6379 -d redis
Test redis:
docker run -it --name my-redis-cli --link redis-server:redis --rm redis redis-cli -h redis -p 6379
redis:6379> SET myKey Test
OK
redis:6379> GET myKey
"Test"
The Test database with Products table is created automatically at startup or you can create it manually:
Package Manager Console (Default project => Examples\Samples.Data):
Update-Database -ConnectionString "Server=127.0.0.1,1401;User Id = SA;Password=<YourNewStrong@Passw0rd>;Initial Catalog = Test;" -ConnectionProviderName "System.Data.SqlClient" -ProjectName Sample.Data -verbose
docker network create sqlnetwork
docker network ls
docker run --name sqln --network sqlnetwork -v sqldata:/var/opt/mssql -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=<YourNewStrong@Passw0rd>" -p 1402:1433 -d mcr.microsoft.com/mssql/server:2017-latest
docker run --network sqlnetwork --name redis-server -p 6379:6379 -d redis
#dev
docker build -f Dockerfile.dev -t tomasfabian/jokerodatadev .
docker run -it --rm --network sqlnetwork -v ${pwd}:/app -p 3000:80 -e REDISHOST=redis-server -e DBHOST=sqln --name jokerodatadev tomasfabian/jokerodatadev
#release https://hub.docker.com/repository/docker/tomasfabian/jokerodata
#docker build -f Dockerfile -t tomasfabian/jokerodata
docker run -it --rm --network sqlnetwork -p 3000:80 -e REDISHOST=redis-server -e DBHOST=sqln --name jokerodata tomasfabian/jokerodata
Test OData endpoint:
http://localhost:3000/Products
#logs
docker exec jokerodata cat logs.txt
docker exec jokerodata grep -i exception logs.txt