Start gRPC Server from another application on remote server - process

I have a requirement in my project where I have to start the gRPC Server as a part of a project and the client will be on the local machine and server on the remote machine. I tried using below code to run the server, but the application errors out because of the code.
Process process = new Process();
process.StartInfo.FileName = "{the file path}";
// startInfo.Arguments = "https://{ip address}";
Log.Always("pROCESS STARTS ******");
Process.Start();
The above code starts the gRPC server on local host. But the problem is that my client is on the remote server. So, I tried giving IP address as the arguments (commented above) but it didn't work and even didn't let the application run successfully.
Is there any way to make the gRPC pc server run as a process on the IP address? Or is there some other way i can try to achieve this?

Related

How to setup ISV Local cache using local host & ISV Client Agent

I was going through the MS Doc https://learn.microsoft.com/en-us/windows-server/administration/windows-server-update-services/deploy/express-update-delivery-isv-support
where it talks about setting up Express installation through WSUS Server. I'm able to setup 'ISV file cache using HTTP Server' and No idea about the second method.i.e. 'ISV Local cache using local host & ISV Client Agent' Can some one help me in setting up the second scenario. Or redirect me to some documents where I can get helps.
I had to run a local server in agent machine, This can be of any web server which serves http requests. with python we can have a up and running http server with one line of code.

Not able to add worker after successful installation of Website Controller, Management server,Front end server,Publication server and File server

After successful installation of Windows azure pack I am trying to install Windows Azure Pack: Web Sites v2 U6.
I am able to install most of the servers to the Website controller. All below servers are in ready state so there is no issue of installation error.
Management server
Front end server
Publication server
File server.
but while adding Worker server, it's added perfectly and start the installation process. At stage when it reach at the installation it seems like it is not getting some connection string. The information is below.
Start service: rsfilter.
Service rsfilter is running.
Configure Idle Pageout feature.
Completed configuration of Idle Pageout feature.
Take ownership for file C:\Windows\system32\Drivers\http.sys.
Configure DWAS Files location to path 'C:\DWASFiles'
File caching is turned off
Execute command 'powershell.exe Import-Module NetQoS; $policy = Get-NetQosPolicy -PolicyStore ActiveStore | Where-Object { $_.Name -eq 'udplimit' }; if (!$policy) { New-NetQosPolicy -name 'udplimit' -ThrottleRateActionBitsPerSecond 65536 -IpProtocol UDP -PolicyStore ActiveStore -ea Stop }'
Setup database connection string for server WAPSQL .
Setup data service credentials.
Stop service: WAS.
Service 'WAS' is stopped.
Set IPv4 dynamic port range, with starting port 30000, and number of ports 35536.
Execute command 'netsh.exe int ipv4 set dynamicport tcp start=30000 num=35536'
Start service: dwassvc.
Service dwassvc is running.
WorkerManagementService started. Ready to receive ConnectionString and DataServiceCredentials.
Waiting for worker connection string. Attempt number is 12.
Waiting for worker connection string. Attempt number is 24.
Waiting for worker connection string. Attempt number is 36.
Waiting for worker connection string. Attempt number is 48.
I also tried to repair Frontend server as mention in on Microsoft forum but it will not help.
Here's Microsoft forum link
Any trick or guideline will be appreciated
Thanks,
Dharmendra
I have found that my Front end server is not accessible from management server and web site controller. It is DNS server that not resolving named correctly (Accessed by IP address but not accessed by server name). Also by using klist tickets I have fount that front end server doesn't have Kerberos ticket available on the list.
For the solution what I have done is, I removed front end server from Web site controller and after that I remove it from Domain controller. Then I rejoin it again to domain. After that I tried it to access it by using it's name from management server and website controller. For example,\FRONTEND\C$. Then I first added FrontEnd server and then Web Worker Server and now it get's connection string properly and added with "Ready" status.
Hope this will help someone.
Thanks you very much for point out. It is hectic from more then a week.
Regards,
Dharmendra

RedisDesktopManager not connecting to remote redis server

I had a perfectly running remote redis-server on my LAN (# x.x.x.x:p). I was able to use the RedisDesktopManager to view the server contents. However, there were a lot of dangling connections to my server from different clients (subscribed to channels) which I wanted to close so I used the SHUTDOWN command from the console of the desktop manager. Since them, I am unable to connect to the remote server. The desktop manager is running and lets me add a new redis-server connection but I am not able to connect to the previous server connection. Whenever I try to connect to the server # x.x.x.x:p, the desktop manager terminates. I have not made any configuration changes to the previously running server so I am sure that I am not making any mistake with port bindings. Any help on what I am missing will be really appreciated.
Thanks in advance!
The problem was with the configuration binding. The bind line in the configuration file was originally
bind 132.168.131.129 127.0.0.1 0.0.0.0. I changed it to bind x.x.131.129. The server connection was restored.

How to ensure that a machine name is valid and running?

I have a wcf service deployed on mulitple machines on the intranet. User can access the machine through internet by connecting its machine through SSL (secured connection of the client network).
User has a client application to consume web service deployed on mulitple machine on client network.
I get the machine name from the client and dynamically create the url to create the client of the web service in client application as below:
https://machine_name//test/testservice.svc
What will be the best approach to check if the machine on which client is trying to connect is valid and running(up)?
There could be mulitple condting when timeout is expired like network delay in among one of the cause..
you can try and open a telnet on the port you're calling.
if it timed out - there is a problem.
if you want to do it in more stages
1. run nslookup (to see if the ip-name is defind right)
2. run ping (to see if the machine is alive - if there is no firewall that blocks it)
3. run telnet to the listening port.
What I do - I always publish a test method on the WCF service - that doesn't do anything but returns true - so I can check the service fast.
I would recommend using these three commands:
# check we can resolve the host name
host machine_name
# net cat, to check if the port is open
nc -vz machine_name 443
# curl to see if the service is responding at the given URL
curl -I https://machine_name//test/testservice.svc
The above commands can be run from within a Cygwin/Unix shell. To do the same within a .NET project, you can download libcurl-net. The curl command/library call will do a complete check, and if it fails it should be able to tell you approximately where the problem is.

How Do You Send Emails if SMTP is Not Loaded on the Server?

using the Code Snippet for sending email in VB.Net I have successfully sent an email from my local machine, but when I Upload it to my server I get a message that the email failed. We have a national relay server that is running SMTP and I am pointed at that server in both instances. The only differance that jump out at me between the two machines is that the server is not running SMTP. Do I need SMTP to be running on the server if I am using a relay server to send the email that is running SMTP?
Dim message As New MailMessage("DoNotReply#faa.gov", My.Settings.NotifyList, "Starting FalconCMSOffloader # " & My.Settings.FacID & " - " & Now, "NM")
Dim emailClient As New SmtpClient(My.Settings.EmailServerAddress)
emailClient.Send(message)
You shouldn't need SMTP running locally, as the VB.Net code should just be using basic TCP/IP to communicate directly to the relay server.
It would be useful to see the error message, it is possible that the server does not have access to port 25 on the relay server (eg. due to the firewall configuration). Note that you can test this connectivity to some degree by launching telnet from the command line (on the server) as follows:
telnet RelayServerAddress 25
There is also a chance that there is some authentication happening with the relay server when you run the code locally on your machine under your domain account that isn't able to happen when the code is running on the server under a local account (I'm making some big assumptions here).
You should not need an smtp server on the server if you specify the relay server. Double check that My.Settings.EmailServerAddress is indeed pointing to the relay server.