0

I have a C# application (Desktop based application for Windows OS), which I wanted to use from Web browser.

The application is a kind of analyzing tool, which takes some input values and performs set of calculations over it then displays an animation of the results.

Since the application can't be coded again in a new language, Can anyone suggest me, how I can view and interact with this C# application from browser (like the way we interact with Java Applets)? Also the application can be used by more than one user at a time, so there must be multiple views for this web application.

gnat
  • 21,442
  • 29
  • 112
  • 288
ravi
  • 101
  • 2
  • 1
    http://en.wikipedia.org/wiki/Remote_Desktop_Protocol http://www.serverwatch.com/server-tutorials/creating-a-web-based-windows-remote-desktop-client.html – Konrad Morawski Feb 12 '14 at 15:23

4 Answers4

2

If you designed your application in a way that separates the UI from the business logic, then you should be able to easily rewrite the UI in ASP.Net using C#. Ideally you have separate DLLs that contain all of your business logic and you can re-use those in you web application.

If you have your business logic intermingled with your UI logic, then you are going to have a rough time breaking out the functionality to build a proper web application.

John Koerner
  • 121
  • 4
  • 1
    he doesn't want to do that though. He wants to use the existing app through a web browser, and cannot rewrite it for the web. – ozz Feb 13 '14 at 10:55
2

One option that requires no coding is to use VNC or any remote desktop client in a browser. Your app need to run on a Windows desktop though, and if you have more than one simultaneous user you need one one desktop per user.

Filip
  • 354
  • 1
  • 6
  • Sounds good but the only thing is having those many users. I actually want to make this publically available, so that anybody can just visit my website and use this analyzer. – ravi Feb 13 '14 at 14:06
2

There are three main options available, and only two require no existing code to be changed or added, and zero meet all of your stated requirements.

  1. Remote Desktop: A computer runs the application as normal, but to access it remotely you simply use a remote desktop client software or browser plugin/applet to access. Microsoft Remote Desktop is the most well known, though LogMeIn and other related services work similarly. It does not work with multiple users simultaneously.

  2. Remote Desktop + Virtual Desktop/Virtual Machine: This works as the above, but on the backend instead of a normal operating system you remote desktop to a multi-user supporting desktop environment, such as that provided by Windows Server, VMWare, and others. Each user has their own virtual desktop (if you set them up that way and pay the appropriate fees, anyway), and you each person can run their own application. Downside: No, it does not scale as cheaply as internet applications. No, you can't really give the general public access to it this way.

  3. Change/add code. As with other suggestions, one could adapt the code to ASP.NET, or similarly port it to being a Silverlight application which would run in the browser (like Flash). Downside: it requires coding/development.

To clarify and use your example of Java, a Java Application is not the same as an Applet. One cannot add a flag and deploy a java application the browser, it just doesn't work like that.

If it were possible, if this helps any, Microsoft would just do that instead of rewriting so many of their core Office programs as online applications. They can't just make an application run in a browser to unlimited users without one of the above classes of solution, and I'm afraid you won't be able to either.

BrianH
  • 6,092
  • 1
  • 21
  • 23
0

I have made simple demo about output data from .net program to browser using Scot library. Scot library is wrapper for javascript using only html5 capabilities.

Primary reason to create it was to convert Windows application for web browsers.

Martijn Pieters
  • 14,499
  • 10
  • 57
  • 58