Question

The problem here is the middle of the line (HTML).

The chain:

I have WinForm program that uses awesomium (alternative to native webBrowser) to view Html page that has a part of asp.net page in it's iframe.

The problem:

The problem is that I need to pass value to asp.net page, it is easily achieved without middle of the chain (Html iframe) by sending hashed and crypted querystring.

How it works:

WinForm do some thing, then use few-step-crypt to code all the needed values into 1 string. Then it should send this string to asp.net page through the iframe (and that's the problem, it is easy to receive query string in asp.net page, but firstly I need to receive it in Html and send to asp.net).

Acceptable answers:

1) Probably the most easily one - using JavaScript. I have heard it is possible to be done in that way. How I imagine this - I send query string from WinForm to Html page as http:\\HtmlPage.html?AspNet.aspx?CryptedString Then Html receive it with JavaScript and put querystring "AspNet.aspx?CryptedString" into iframe's "src=http:\\" resulting in "src=http:\\AspNet.aspx?CryptedString" And then I easily get it in asp.net page.

2) Somehow create >>>VIRTUAL<<<(NOTE: Virtual, I don't want querystring to be saved on the HDD, even don't suggest) asp.net or html page with iframe source taken directly from WinForm string. Probably that is possible with awesomium, but I'm new to it and don't know how to (if it is possible ofc).

3) Some web service with which I can communicate between asp.net and WinForm through the existing HTML iframe.

4) Another way that replace one of 3 previous, that doesn't save "values" in querystring/else on HDD nor is visible for the user, doesn't use asp.net page's server to create iframe-page on it. On HTML page's server HTML is only allowed, PhP isn't.

5) If you don't know any of 4 above - suggest free PhP hosting without ads (if such exists, what I highly doubt).

Priority:

The best one would be #3, then #2, then #1, then #5 (#4 is excluded as it is unknown).

And in the end:

Thanks in advance for your help.

P.S.Currently at work, so I'll check/try all answers later on and will report tomorrow if any suits my needs. Thanks again.

Was it helpful?

Solution

Answering my own question. I have found 2 ways that can do what I did want.

The first one:

Creating a RAM file System.IO.MemoryStream or another method (google c# create a file in ram).

The second one:

Creating a hidden+encrypted+system+custom-readable-only-by-program-crypt file somewhere in the far away folder via File.SetAttributes Method and System.IO.StreamWriter/Reader or System.IO.FileStream or System.IO.TextWriter, etc. depending on what it should be.

Once this file was used for needs delete it + delete on exit + delete on start using

if (File.Exists(path)
{
 File.Delete(path);
}

(Need more reputation to post few links -_-, and I don't want to post only part of them, either all or no at all, so use google if you'll need anything from here).

If you'll need to store "Small temp file" and not for a long time use first one, if "Heavy" use second one, unless you badly need to use RAM for it.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top