Tal vez podrías considerar usar MQTT.
https://randomnerdtutorials.com/what-is ... -it-works/
MQTT es un sencillo protocolo de comunicación para IoT del tipo pubish & subscribe. La arquitectura MQTT define un servidor o broker, que hace de intermediario en la mensajería, y diferentes clientes que pueden enviar (publicación) o recibir (suscripción) información. El intercambio de información se realiza mediante mensajes y el mecanismo de publicación / suscripción se basa en topics. Básicamente un mensaje será publicado (enviado) con un topic asociado por un cliente MQTT y sólo los clientes suscritos a ese topic lo recibirán. El mecanismo es muy sencillo y potente y los clientes MQTT pueden localizarse tanto en pequeños microcontroladores (arduino) como en programas corriendo en potentes ordenadores.
https://www.eclipse.org/paho/clients/dotnet
http://www.steves-internet-guide.com/in ... on-client/
Como broker te recomiendo usar mosquitto. Lo podrás instalar en la RPi o en el PC.
Mediante MQTT, arduino podría comunicarse directamente con tu app .NET o incluso enviar un mismo mensaje tanto al python de la RPi como a .NET del PC. Para esta comunicación con doble destino no habría que enviar el mensaje dos veces. Simplemente sería necesario que ambos clientes de las 2 aplicacaciones se suscribieran al topic con el que envía sus mensajes arduino. Así de simple.