Remote WinForm app question

  • Thread starter Thread starter Mike Margerum
  • Start date Start date
M

Mike Margerum

Hi, im new to .net but have a lot of experience in C++ and SQL server.


I want to build a WinForms rich GUI client that uses ADO.NET across
the internet. It will run in a briefcase mode but will need to
connect to the server occasionally to sync.

Can I use straight ADO.Net (no IIS) across the internet in a secure
fashion or do I have to do it through web services and IIS? I dont
really want to use VPN. Is there some other solution?

thanks.
 
Hi Mike,

If you have a firewall at your server side, then you are pretty much stuck
with web services (why not, anyway?) - port 80.
Of course, nothing prevents you to use other ports and protocols (see
remoting - no IIS or VPN required), however you have to play with firewall
settings.
 
If you have a firewall at your server side, then you are pretty much stuck
with web services (why not, anyway?) - port 80.
Of course, nothing prevents you to use other ports and protocols (see
remoting - no IIS or VPN required), however you have to play with firewall
settings.
Ill have control of the firewall. Running IIS just scares me a little
bit and i dont really want its overhead. Im not interested in
building a web client.

I just want to build a rich GUI client that accesses an SQL Server
across the internet securely. Would remoting be useful here? Does
remoting working with the DataSet serializers?

Thanks,
Mike
 
Hi Mike,

Mike Margerum said:
Ill have control of the firewall. Running IIS just scares me a little
bit and i dont really want its overhead. Im not interested in
building a web client.

I just want to build a rich GUI client that accesses an SQL Server
across the internet securely.

Ah, you want direct connection to sql server? Nothing is preventing you to
use Net-Library Encryption of Sql server.
I haven't tried it yet but I see no reasons not to use it.

Would remoting be useful here? Does
remoting working with the DataSet serializers?

Remoting would be handy if you have a tier on server. And yes, you can send
serialized dataset accross - in fact you can send anything that converts to
bytes :)
 
you have a couple options.

1) hook your sql server directly to internet (change port number).

upside:
client easy to code, just a connection string

downside:
lots of hacker look for sqlserver hooked up this way, and you'd better
have good security
requires a custom port be opened in the users firewall

2) use remoting. this requires building a business layer that runs on your
server, that the client can make call to.
upside:
pretty easy code
downside
requires a custom port be opened in the users firewall
little in the way of managemnet tools for hosting the remote obj
little security support

3) web service

upside:
same code as remoting
port is already open at users firewall
good secuirty support
good management tools
downside:
requires iis

-- bruce (sqlwork.com)
 
Remoting would be handy if you have a tier on server. And yes, you can send
serialized dataset accross - in fact you can send anything that converts to
bytes :)

--
Id be happy to build a middle tier but then I lost my RAD ability to
use datasets in the designer right? another reason i dont want to use
IIS is the soap reader/writers generate huge datasets. id prefer to
keep it binary as only my app will ever talk to it.

Basically, all i want is ADO.Net using a binary formatter running
across raw sockets or remoting with some type of authentication. It
would also be nice if I could still use all the design time goodies in
visual studio for building winForms using metadata from queries. Hope
im making sense here.

As an aside. Can I deploy a win2000 workstation with IIS to server up
a .net app legally? The app im build will never have more than a few
users and server is kind of expensive.

Thanks for the help
 
Hi Mike,

Mike Margerum said:
Id be happy to build a middle tier but then I lost my RAD ability to
use datasets in the designer right? another reason i dont want to use
IIS is the soap reader/writers generate huge datasets. id prefer to
keep it binary as only my app will ever talk to it.

The truth is that datasets are always serialized in xml format even if you
use binary serialization.
Why would you loose RAD. You'll have to define datasets in common assembly
which is deployed both at server and client.
Basically, all i want is ADO.Net using a binary formatter running
across raw sockets or remoting with some type of authentication. It
would also be nice if I could still use all the design time goodies in
visual studio for building winForms using metadata from queries. Hope
im making sense here.

Sure. However the IIS would be easier to configure for authentication.
BTW, what kind of authenitacion will you provide?
As an aside. Can I deploy a win2000 workstation with IIS to server up
a .net app legally? The app im build will never have more than a few
users and server is kind of expensive.

Don't know that for sure - i think not. However, I am not a salesman ;-)
 
Back
Top