Sharing and integrating folders over the Internet.

Markus Schertler 41 Reputation points
2025-02-09T11:51:04.6966667+00:00

Hello,

I have a C# application in which the data is saved in XML files using sequentialized object collections. This is multi-user capable in the home network. This means that several users can work with the data at the same time.

The central data program that adds, changes or deletes data records runs on the computer where the data is located.

When it starts, the application program reads the data, i.e. the XML files. And when the data changes, it creates data change requests in the form of small XML files that it saves in a subdirectory on the computer where the data is located.

The central data program processes this subdirectory and creates notifications about data changes in a second subdirectory in form of small xml files on the same computer. The client programs read these notifications and incorporate the changes into the data they have in the main memory.

This can be done in the home network by integrating a folder on the computer where the central data program is running on the computer where the client program is running.

Now I would like to make this accessible remotely over the Internet. This means that a client program runs on a remote computer. A folder on the computer on which the data is located and where the central data program runs should be integrated via the Internet.

So that it is accessible like a local folder.

How can this be achieved?

Windows for business | Windows Client for IT Pros | User experience | Other
0 comments No comments
{count} votes

3 answers

Sort by: Most helpful
  1. Marcin Policht 50,495 Reputation points MVP Volunteer Moderator
    2025-02-09T12:09:14.3033333+00:00

    Here are a few options to consider:

    1. VPN for secure network folder access (the easiest approach) Setting up a VPN (WireGuard, OpenVPN, or L2TP/IPsec) allows remote users to securely connect to your home network. Once connected, they can access the shared folder as if they were on the local network. This approach requires minimal code changes but depends on a stable VPN connection.

    2. Cloud-Based file synchronization Using a cloud storage service like OneDrive or Dropbox can automatically sync XML files and notifications across devices. This eliminates the need for a dedicated network connection but requires handling file synchronization conflicts.

    3. Web API Over HTTP/3 (QUIC) for remote data access A more scalable and modern approach is to create an ASP.NET Core Web API that provides secure access to XML data over HTTP/3 (QUIC). Clients can make RESTful API calls instead of reading files directly from a network folder. This seems to be the best option, which ensures fast, secure, and reliable data exchange over the internet.

    4. SignalR Over QUIC for real-time notifications Instead of using small XML files for change notifications, SignalR over HTTP/3 (QUIC) can be used to push updates instantly to clients. This reduces polling overhead and improves synchronization. Clients can subscribe to updates in real time instead of scanning a directory for new XML files.

    5. Custom QUIC-based file synchronization For a high-performance solution tailored to your use case, you can develop a custom QUIC server using MsQuic (Microsoft's QUIC implementation) or Quiche (Cloudflare’s library). This would allow direct file transfers over QUIC instead of relying on HTTP.

    • The server would listen for QUIC connections, and clients would request XML files or push updates.
    • This approach offers low-latency, encrypted communication but requires more development effort.

    If the above response helps answer your question, remember to "Accept Answer" so that others in the community facing similar issues can easily find the solution. Your contribution is highly appreciated.

    hth

    Marcin


  2. Marcin Policht 50,495 Reputation points MVP Volunteer Moderator
    2025-02-09T13:12:03.6733333+00:00

    can you give me a link where i can see how to realize it with VPN?

    https://learn.microsoft.com/en-us/azure/storage/files/storage-files-networking-endpoints?tabs=azure-portal

    Can RemoteDesktop be an option?

    Remote Desktop (RDP) is useful if you want full control over the server’s UI

    Can Azure be an option?

    The options I listed do involve the use of Azure - including the VPN option above


    If the above response helps answer your question, remember to "Accept Answer" so that others in the community facing similar issues can easily find the solution. Your contribution is highly appreciated.

    hth

    Marcin


  3. Markus Schertler 41 Reputation points
    2025-02-11T07:12:38.7966667+00:00
    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.