Want to connect to Azure Windows Virtual Desktop in browser using c#? - c#

I have connected to Remote Desktop/Virtual Network using Myrtille C# (just like Chrome Remote Desktop). I want to connect Azure Windows Virtual Desktop using C#. The concept is to connect to Azure Windows Virtual Desktop in the browser using C#. On the browser add required fields like IP address, Port, User Name, and Password, and after the button click, wants to connect to Windows Virtual Desktop. Is there any code available to did this?

I initially went through the official documentation and looked online for C# examples without any success. I then looked further into the differences between Azure Virtual Machines and Azure Windows Virtual Desktop.
The connection process with Azure Windows Virtual Desktop requires more in the way of authentication than providing a simple User Name and Password as you would with a virtual machine. This is the client connection sequence:
Using supported Windows Virtual Desktop client user subscribes to the Windows Virtual Desktop Workspace
Azure Active Directory authenticates the user and returns the token used to enumerate resources available to a user
Client passes token to the Windows Virtual Desktop feed subscription service
Windows Virtual Desktop feed subscription service validates the token
Windows Virtual Desktop feed subscription service passes the list of
available desktops and RemoteApps back to the client in the form of
digitally signed connection configuration
Client stores the connection configuration for each available
resource in a set of .rdp files
When a user selects the resource to connect, the client uses the
associated .rdp file and establishes the secure TLS 1.2 connection
to the closest Windows Virtual Desktop gateway instance and passes
the connection information
Windows Virtual Desktop gateway validates the request and asks the
Windows Virtual Desktop broker to orchestrate the connection
Windows Virtual Desktop broker identifies the session host and uses
the previously established persistent communication channel to
initialize the connection
Remote Desktop stack initiates the TLS 1.2 connection to the same
Windows Virtual Desktop gateway instance as used by the client
After both client and session host connected to the gateway, the
gateway starts relaying the raw data between both endpoints, this
establishes the base reverse connect transport for the RDP
After the base transport is set, the client starts the RDP
handshake
There's additional reading you can do if you'd like to learn more about RDP for Windows Virtual Desktop, but it doesn't look like Myrtille will work for what you are trying to accomplish.
https://techcommunity.microsoft.com/t5/windows-virtual-desktop/announcing-public-preview-of-rdp-shortpath-transport-for-windows/m-p/1889372

Related

Unable to connect Google App to Google MySQL

my app is deployed and responds (however, no db connection) but, the pages that do not connect to the database work correctly, including calls to the web service api
my mysql database is running and has a public ip address (also, added my ip address as an authorized network)
i can connect to the google database from my local laptop using the mysql workbench and the instance i created is fully loaded and ready
i am able to run my .net core 3.1 project from my local machine and it runs using the Google MySQL instance via the public ip address
unsure why i am able to run my app locally using the google mysql instance from my laptop but the app from within the google hosting network itself does not.
google claims it should work by default?
however, the only way i have gotten it to work is by adding 0.0.0.0/0 to the allowed network. seems "dirty" that way. but, if i must.
connection string is "Server=34.125.xxx.xxx;Database=testdb;Uid=root;Password=testpword"
error message
You have already gone through the issue yourself. You have tried to make 0.0.0.0/0 an authorized network and it worked! what does this mean? This simply means that you need to authorize the AppEngine outbound NAT gateway cidr to access your CloudSQL instance and it worked because this NAT cidr is included in 0.0.0.0/0 as you may already know.
but the thing is, this is not the best option to secure your connection to CloudSQL.
As quoted from the documentation:
Using the Cloud SQL Auth proxy is the recommended method for authenticating connections to a Cloud SQL instance because it's the most secure method.
The CloudSQL Auth proxy provides secure access to your instances without a need for Authorized networks or for configuring SSL.
See the CloudSQL Auth proxy documentation here
Also,
You do not need to use the Cloud SQL Auth proxy or configure SSL to connect to Cloud SQL from App Engine standard environment or App Engine flexible environment.
See
Connecting from AppEngine standard environment to CloudSQL
and Connecting from AppEngine flexible environment to CloudSQL

SignalR Server Self Host

I need to create a SignalR server self hosted. I need to put the client on another persons machine to show a demo that pushes data from a remote client on the network to the server to be rebroadcast to any other connected clients. I have created a signalR server in both windows forms and an asp.net application and they run. However the URL is Localhost:12345 and works only on my local box. I need to allow other remote clients to connect either with my system IP or a URL.
Thanks

Send message to citrix client driver

I download SDK from here SDK. The vdovern custom virtual channel Client/Server project is successfully run. Now i want to communication between c# application and vdovern.dll(citrix client driver).
[SendMessage] API use for a send message from c# app to citrix client driver. but sendmessage API need HWND.
How to get window handle(citrix client driver) to send message from c# application to vdovern.dll(citrix client driver)?
Is there any other way to send message to citrix client driver?
Thanks,
Citrix has provided virtual channel sdks, user can download the sdk from citrix website. It comes with some sample code and good documentation. SDKs has 2 components a server side executable and a client driver dll. when this exeutable is launched it loads client side driver in its context and creates a virtual cahnnel. User can pass data from server to client using these 2 components. Steps to build these components are given below:
http://ajdevtech.blogspot.com/2019/01/working-with-citrix-virtual-channel-sdk.html

Can I send messages from a client-side application to a server-side application using RDP virtual channels?

One of our integration partners is migrating their product to Terminal Services. While their product will exist within a Terminal Services session they will not allow third-parties to run their applications within the same session.
Our integration requires that our application send messages to the partner product using built-in APIs. These APIs have not been updated to allow communication across the RDP session. We want to be able to send these messages via a proxy in the form of a virtual channel. These messages would be received by the RDP session, forwarded on to the partner application, and any responses returned to our application via the channel.
However, all articles I've found on the web surround the process of sending messages from the server to the client. Is the reverse possible?

Client PC communication with a Host PC over LAN

Short Verstion: I have a task that I need to make an application get a computer's camera screenshots, and send to another computer running a Windows Service, in the same local network (but not connected to the internet), along with some other information.
Long Explanation: We have an application that runs in the background while the user takes a survey, and we get the user's information such as ID and we save his answers along with other information (only pictures at the moment).
We convert these pictures to data and send them to a WebService, which then saves in a server.
Now we're implementing an "offline" version of this functionality, and we're supposed to save the user's data to a specific computer in the local area network, running another application that saves these data to later upload them to the server when it's online.
Question What do I need on both PCs for this communication to work?
Is it possible to access the Windows Service in the Host PC if it doesn't have IIS installed? (It'll be a client machine so it probably won't have it).
I've been trying to google to understand what should I search/understand but I couldn't find anything that wasn't about WCF and IIS / Online services.
you need some form of communication between the 2. It could be TCP/IP sockets or WCF or classic webservices... but if it is webservices then you DO need it hosted in IIS just like WCF. But WCF allows you to not only host it in IIS but it can be self hosting in your application or you can also use the Windows Activation Services (WAS) too. TCP/IP sockets can also be a solution here. I would lean towards TCP/IP Sockets as the problem you describe is more suited for this than a full bloated service.

Categories

Resources