471,330 Members | 1,710 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,330 software developers and data experts.

Browser to destkop app - suggestions

Note: Not strictly tied to C#; so an answer of "repost to <x>" would be more
than adequate - however, I value the opinions of people on this group, and I
am sure that somebody here has had to do this before.

I have two disparate systems (one a browser-app, one a C# .Net2 smart-client
deployed with click-once (online-only)) which I need to tie together; my
requirement is to be able to send simple messages from the browser client to
the desktop client running on the current machine; a nice-to-have is to be
able to obtain feedback from the messages.

To do this, I looked at a few options:
* href-ing to a second click-once application with params on the
query-string, and getting the invoked exe to use remoting to talk to the
instance of the application (already running exactly once)
* making the desktop app start an HttpListener thread, listening to a port
on 127.0.0.1 (or localhost), and sending messages as GETs or POSTs to that
address either via HREF or using XMLHTTP

I favor the latter, as it seems quicker (no fusion, remoting, etc) and
simpler, and I can (is using XMLHTTP) parse the HTTP response to satisfy my
feedback requirement, but when I try use XMLHTTP I get cross-domain data
warnings (fair enough with 20:20 hindsight ; it was stupid of me to do my
original proof-of-concept with the web-site also on localhost). However, the
other (major) advantage of XMLHTTP (rather than just HREFing) is that I can
catch the error if the desktop app isn't running, and prompt the user to
start it (instead of seeing a "server not found" IE message). Also, I can
send simple HTTP messages from pretty much *any* other client, without
needing .Net etc (I still have to support some 16-bit gupta apps..
shudder...)

So:

Does anyone know of a better way to do this? Ideally using "pure" .NET and
C#, i.e. I don't want to register a control on the client, as this violates
my click-once deployment (online-only), as I need the app to run on heavily
locked down machines by restricted user accounts. Also : I don't want to
disable IE's cross-domain warning, and I don't want to have to trust the
domain... It must run under the standard internet (not intranet, as I also
need it to work on an extranet) security level without hacks. You see the
problem...

Or am I just overlooking a simple solution to this problem?

Any ideas?

Marc

Jan 5 '06 #1
0 910

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

10 posts views Thread by A.M | last post: by
8 posts views Thread by Christine Forber | last post: by
10 posts views Thread by Conrad Lender | last post: by
reply views Thread by rosydwin | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.