Please ignore this question, I managed to solve it out, I had an indentation issue, I didn't know yaml files work similar to python, regarding indentation, thanks!
Excellent. Pitched perfectly. I am an experienced developer. I don't need a lot of obvious explanations and you have got this just right. There are other videos which would take 90 minutes to explain what you just showed in 20. Good stuff. Keep it up. Subscribed and liked
Great question! The Update method does not actually send a query to the database immediately; it simply marks the entity as modified in the change tracker. The actual database update happens when you call SaveChangesAsync, which is where the asynchronous operation comes into play.
now i have this error System.Exception: Cannot connect to SQL Server Browser. Ensure SQL Server Browser has been started. when try connect to 8002 from postman. ?
Great Video! I have one question though. Is it safe to use the sa user for every microservice, or would you create a new db login and user for each microservice?
Thank you for watching my video and leaving such a thoughtful comment! I appreciate your engagement and am glad to hear that you found the video helpful. Regarding your question, it's generally not recommended to use the SA user for every microservice, as it can create security risks. Ideally, you should create a new database login and user for each microservice, with limited permissions based on what that service needs to do in the database. This approach helps to limit potential security vulnerabilities and makes it easier to manage access and permissions for each service separately. It also helps to ensure that each microservice only has access to the data it needs to function, reducing the risk of accidental or malicious data leaks. Of course, the specifics of how you set up database access and user permissions will depend on your particular application and security requirements, but I hope this provides some helpful guidance. Thanks again for your question and I hope you continue to find value in my content!
Thank you for your feedback and I'm sorry to hear that you're having trouble connecting to the database, I would be happy to assist you, can you please provide more details about the issue you're facing? Also, I wanted to let you know that the demo project shown in the video is available in a GitHub repository at github.com/codingdroplets/DemoMicroserviceSolution, so you can refer to that as a reference to see if there are any differences in your code.
Hi, great tutorial but I encountered this error when I cloned your repo " Microsoft.Data.SqlClient.SqlException (0x80131904): Login failed for user 'sa'. at Microsoft.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) " I initially followed your tutorial & did the same thing & still encountered that error. Can you assist?
The application is unable to connect to SQL Server. Please check your connection string. The source code is available in the below github URL. Please verify your code. github.com/codingdroplets/DemoMicroserviceSolution
You can find the connection string in Program.cs class. We are reading the Db Host, Db Name and Password from environment variables. In this video, we've hardcoded sa user id. You can include that as well in environment variables in the same way if needed.
Yes, typically each API Application would have its own Docker container. This approach allows for better isolation, scalability, and management of each API Application individually. It also follows the microservices architecture pattern, where each service is encapsulated within its own container.
Hello Bro When I run docker-Compose. So I have received this type of error: The "PrepareForLaunch" task failed unexpectedly. Please can you solve this query
The error message "The 'PrepareForLaunch' task failed unexpectedly" can occur due to a variety of reasons, so it's difficult to provide a definitive solution without more information about the specific error. However, here are some general troubleshooting steps that you can follow to help resolve the issue: Check the logs: The first step is to check the logs for the Docker containers that failed to start. You can use the docker-compose logs command to view the logs for all the containers in the compose file. Look for any error messages or exceptions that may provide more information about the cause of the error. Check the Docker Compose file: Make sure that the Docker Compose file is correctly configured and that all the necessary services and dependencies are defined. Check that the service names and container names match in the Compose file and in any other configuration files. Check the environment variables: Make sure that any environment variables required by the application or the containers are correctly defined in the Docker Compose file or in any other configuration files. Check the networking: Check that the containers are correctly configured to communicate with each other. Make sure that the ports are correctly exposed and that the networking is configured to allow communication between the containers. Check the Docker installation: Make sure that Docker is correctly installed and configured on the host system. Check that the Docker daemon is running and that the Docker CLI is correctly configured to communicate with the daemon. I hope this helps you troubleshoot the issue and resolve the error. If you have any further queries or concerns, please feel free to let me know!
This wasn't really helpful as it doesn't seem like you are explaining the micro concept. Help me understand what the correct concept of microservices are please. First create 2 Api's.. each with its own container. Then: 1. Each Api to have it's own DB and the APIs can then communicate with each other to manage databases. This means each API can use EFCore to build the DBs code first. 2. Both Api's communicate with the same DB. Which Api will then manage the DB code first generation? To me this then breaks the concept of microservices as the 2 APIs cannot live in isolation.. the one is always dependent on the other? So my question is.. Should each Api then have it's OWN db in order for it to be a microservice? If not, and you use Code First, it feels like everything gets very messy.
In a microservices architecture, each service should indeed be autonomous and independently deployable. So it is better to have separate databases for each services. If the APIs communicate with the same database, can break the microservices principles by creating dependencies between services which makes them harder to manage and evolve independently.
Could you please suggest me to fix this issue. fail: Microsoft.EntityFrameworkCore.Database.Connection[20004] An error occurred using the connection to database 'master' on server 'customerdb'. A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 35 - An internal exception was caught) fail: Microsoft.EntityFrameworkCore.Database.Connection[20004] An error occurred using the connection to database 'dms_customer' on server 'customerdb'. fail: Microsoft.EntityFrameworkCore.Update[10000] An exception occurred in the database while saving changes for context type 'CustomerWebApi.CustomerDbContext'. Microsoft.Data.SqlClient.SqlException (0x80131904): A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 35 - An internal exception was caught) ---> System.Security.Authentication.AuthenticationException: The remote certificate was rejected by the provided RemoteCertificateValidationCallback.
⭐ Join Us on Patreon: www.patreon.com/CodingDroplets
Microservices Tutorial Playlist Link: ua-cam.com/video/gPInkLCfalE/v-deo.html
Please ignore this question, I managed to solve it out, I had an indentation issue, I didn't know yaml files work similar to python, regarding indentation, thanks!
Excellent. Pitched perfectly. I am an experienced developer. I don't need a lot of obvious explanations and you have got this just right. There are other videos which would take 90 minutes to explain what you just showed in 20. Good stuff. Keep it up. Subscribed and liked
Thank you for sharing your thoughts and subscribing. Glad to know you liked it.
Nice Demo
Thanks!
In minute 8:50, is it no problem for update function in row 42 not use await ?
Great question! The Update method does not actually send a query to the database immediately; it simply marks the entity as modified in the change tracker. The actual database update happens when you call SaveChangesAsync, which is where the asynchronous operation comes into play.
Nice project
Thank you for your kind comment! We're delighted that you liked it.
Very fast . But Much Clear Thanks
Thank you for your feedback! I'm glad you found the tutorial clear and helpful.
when creating docker. when they ask target OS. should i choose windows because im using windows or i still choose linux anyway?
ok next question. after installing docker. i cant login in ssms with localhost.8001
is something i missed?
now i have this error System.Exception: Cannot connect to SQL Server Browser. Ensure SQL Server Browser has been started.
when try connect to 8002 from postman. ?
@@hermanpranoto3772 Where you able to solve this? I facing the same issue, but my host system is mac
Hi, I also got the target OS issue. Have you resolved it and how to do .Thanks
Great tutorial to learn from ground level, you please share Git repo.
Thank You! Below is the Github repo url:
github.com/codingdroplets/DemoMicroserviceSolution
Great Video! I have one question though. Is it safe to use the sa user for every microservice, or would you create a new db login and user for each microservice?
Thank you for watching my video and leaving such a thoughtful comment! I appreciate your engagement and am glad to hear that you found the video helpful.
Regarding your question, it's generally not recommended to use the SA user for every microservice, as it can create security risks. Ideally, you should create a new database login and user for each microservice, with limited permissions based on what that service needs to do in the database.
This approach helps to limit potential security vulnerabilities and makes it easier to manage access and permissions for each service separately. It also helps to ensure that each microservice only has access to the data it needs to function, reducing the risk of accidental or malicious data leaks.
Of course, the specifics of how you set up database access and user permissions will depend on your particular application and security requirements, but I hope this provides some helpful guidance.
Thanks again for your question and I hope you continue to find value in my content!
@@CodingDroplets Wow, thank you for the detailed answer. Have blessed day.
Great to hear that! Your kind words mean a lot to me, and I appreciate your support. Have a blessed day too!
Good Video, but I can't connect Database when following your codes. Would you help me?
Thank you for your feedback and I'm sorry to hear that you're having trouble connecting to the database, I would be happy to assist you, can you please provide more details about the issue you're facing? Also, I wanted to let you know that the demo project shown in the video is available in a GitHub repository at github.com/codingdroplets/DemoMicroserviceSolution, so you can refer to that as a reference to see if there are any differences in your code.
Hi, great tutorial but I encountered this error when I cloned your repo
" Microsoft.Data.SqlClient.SqlException (0x80131904): Login failed for user 'sa'.
at Microsoft.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) "
I initially followed your tutorial & did the same thing & still encountered that error. Can you assist?
The application is unable to connect to SQL Server. Please check your connection string. The source code is available in the below github URL. Please verify your code.
github.com/codingdroplets/DemoMicroserviceSolution
Hello. Help pls. Where I can find a correct user ID? I have a problem in connection string, so I want you to desribe what every property means.
You can find the connection string in Program.cs class. We are reading the Db Host, Db Name and Password from environment variables. In this video, we've hardcoded sa user id. You can include that as well in environment variables in the same way if needed.
Hi, If we have multiple WebApis (eg: 2 Api), then should we create 2 Docker container for each Api? please confirm
Yes, typically each API Application would have its own Docker container. This approach allows for better isolation, scalability, and management of each API Application individually. It also follows the microservices architecture pattern, where each service is encapsulated within its own container.
@@CodingDroplets Thanks. It's helpful
You are most welcome!
when will you post the sequel?
Working on the next video now. Will be uploading within 2-3 days.
@@CodingDroplets Thanks! I really enjoyed the videos.
You are welcome. Thanks a lot for sharing your thoughts.
Hello Bro
When I run docker-Compose. So I have received this type of error: The "PrepareForLaunch" task failed unexpectedly.
Please can you solve this query
The error message "The 'PrepareForLaunch' task failed unexpectedly" can occur due to a variety of reasons, so it's difficult to provide a definitive solution without more information about the specific error.
However, here are some general troubleshooting steps that you can follow to help resolve the issue:
Check the logs: The first step is to check the logs for the Docker containers that failed to start. You can use the docker-compose logs command to view the logs for all the containers in the compose file. Look for any error messages or exceptions that may provide more information about the cause of the error.
Check the Docker Compose file: Make sure that the Docker Compose file is correctly configured and that all the necessary services and dependencies are defined. Check that the service names and container names match in the Compose file and in any other configuration files.
Check the environment variables: Make sure that any environment variables required by the application or the containers are correctly defined in the Docker Compose file or in any other configuration files.
Check the networking: Check that the containers are correctly configured to communicate with each other. Make sure that the ports are correctly exposed and that the networking is configured to allow communication between the containers.
Check the Docker installation: Make sure that Docker is correctly installed and configured on the host system. Check that the Docker daemon is running and that the Docker CLI is correctly configured to communicate with the daemon.
I hope this helps you troubleshoot the issue and resolve the error. If you have any further queries or concerns, please feel free to let me know!
This wasn't really helpful as it doesn't seem like you are explaining the micro concept. Help me understand what the correct concept of microservices are please.
First create 2 Api's.. each with its own container. Then:
1. Each Api to have it's own DB and the APIs can then communicate with each other to manage databases. This means each API can use EFCore to build the DBs code first.
2. Both Api's communicate with the same DB. Which Api will then manage the DB code first generation? To me this then breaks the concept of microservices as the 2 APIs cannot live in isolation.. the one is always dependent on the other?
So my question is.. Should each Api then have it's OWN db in order for it to be a microservice? If not, and you use Code First, it feels like everything gets very messy.
In a microservices architecture, each service should indeed be autonomous and independently deployable. So it is better to have separate databases for each services. If the APIs communicate with the same database, can break the microservices principles by creating dependencies between services which makes them harder to manage and evolve independently.
@@CodingDroplets you're king of hearts! by replying every good and bad comment respectfully.
Could you please suggest me to fix this issue.
fail: Microsoft.EntityFrameworkCore.Database.Connection[20004]
An error occurred using the connection to database 'master' on server 'customerdb'.
A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 35 - An internal exception was caught)
fail: Microsoft.EntityFrameworkCore.Database.Connection[20004]
An error occurred using the connection to database 'dms_customer' on server 'customerdb'.
fail: Microsoft.EntityFrameworkCore.Update[10000]
An exception occurred in the database while saving changes for context type 'CustomerWebApi.CustomerDbContext'.
Microsoft.Data.SqlClient.SqlException (0x80131904): A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 35 - An internal exception was caught)
---> System.Security.Authentication.AuthenticationException: The remote certificate was rejected by the provided RemoteCertificateValidationCallback.
Check this:
stackoverflow.com/questions/3270199/a-connection-was-successfully-established-with-the-server-but-then-an-error-occ