MarimerLLC / cslaforum

Discussion forum for CSLA .NET
https://cslanet.com
Other
31 stars 6 forks source link

How to trigger HttpRequest from WPF client providing a 'download document' feature #98

Open StGK opened 8 years ago

StGK commented 8 years ago

Hi,

for my WPF client app (still using CSLA 3.8.x with a remote WCF DataPortal hosted on IIS), I want to enable the user to download a file after clicking on a hyperlink. I want the standard 'Open or Save' dialog to open prior to the actual download. Can I achieve this making use of the existing WCF-DataPortal-service, or am I forced to implement a custom httpHandler on IIS side-by-side? Could a httpHandler somehow be reusing the WCF-host infrastructure? (i.e. not having to create a new webapp on IIS but putting all in the WCFHost directory, reusing the same port...) I also would like to somehow hide such a web accessibility as much as possible from non-authorired usage. Any tipps/hints are appreciated!

Stefan P.S.:My first question/post on the new 'forum'.

ajj7060 commented 8 years ago

I think you'd have to implement a HttpHandler, as you suggest. The data portal isn't really meant to be called by arbitrary clients.

StGK commented 8 years ago

Hi Andy, I was hoping to find a way to implement the HttpHandler as near as possible to the exisiting WCF-DataPortal host. (Same directory, same port? same config, same bin dir... don't know if that is all possible). Just one additional file on the server. If it were possible to trigger the HttpRequest by somehow internally redirecting from a DataPortal request to a new HttpRequest, then I would not have to care about a second public web interface to my data (authorization, etc.)

Stefan

ajj7060 commented 8 years ago

Ah, I see. Well if you're hosting WCF already in a Web project, you should be able to add the handler right into that project and it should work fine, so same port, config, etc.

rockfordlhotka commented 8 years ago

If you are hosting the data portal in ASP.NET then yes, it should be very easy to add any other ASP.NET supported endpoint in the same site. It is just ASP.NET after all.