Please recommend some solution to get the current local machine ip of the Client.
You might need to check the HTTP_X_FORWARDED_FOR variable too if the client is behind a proxy or you have a network device between the client and your web application.
context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
Keep in mind, using HTTP_X_FORWARDED_FOR does not yield the local machine IP of the Client. This information is simply not available over TCP. That is, if I understand what you're trying to do. The web server and client need to be on the same network in order for the web server to see the client's local IP. The best you can get is Client's WAN address which might change over time depending on how the client's network works.
Perhaps create an authentication/authorization solution rather than IP.