asp.net如何与桌面程序(winForm程序)交互

asp.net怎么与桌面程序(winForm程序)交互?
asp.net程序没写过,winform程序比较熟悉,它俩交互传输数据只能写个TCP什么的吗?有没有简单的方法

还有一个问题,假如我的winform程序要获取数据库中的数据,是直接连接数据库好呢还是先连接asp.net再让asp.net连接数据库好呢?(因为直接连接数据库经常有失败的情况)
------解决思路----------------------
在server上,运行着你的winform app,启动着iis跑着asp.net站点:
通过socket,通过wcf/webservice,通过零时文件/数据库中转数据等等,随便。但到底怎么会有这种需求?!


------解决思路----------------------
看具体需求和运行环境来定。
------解决思路----------------------
可以使用signalr,它支持web和客户端的双向通讯。
如果仅仅是客户端调用web,用webbrowser就可以了。
------解决思路----------------------
还有个问题,加上中间层比较好。因为客户端程序一旦被反向工程,你的服务器数据库就暴露了,这个危害很大。