当前位置: 代码迷 >> C# >> .net下归并两个项目(winform和web)
  详细解决方案

.net下归并两个项目(winform和web)

热度:57   发布时间:2016-05-05 05:04:04.0
.net下合并两个项目(winform和web)
现在做了一个web的网站,后天有一些通信的程序和曾经在winform下做的一模一样,怎样将当初的winform程序搬到现在的web下呢?(这样能省不少事情)还望高人指点一二
------解决思路----------------------
你还是把单独的类复制出来用好了,你那些窗口什么的,在webform里保证都是用不了的
而且通信的东西,是指什么?你想在webform里开线程执行socket吗?劝你还是修改方案,不要这么玩
------解决思路----------------------
winform的通信webform也能做,但问题在于,你的winform是接受到通信就可以直接展示给用户的,webform你接收到了数据能怎么办呢?html5还能通过Websocket跟客户端通信,其它不支持html5的浏览器只能js轮询
------解决思路----------------------
你当初就应该将无关于运行环境的通讯逻辑封装到单独的项目里,比如socket通信,通过自定义事件,完全可以剥离出来,因为通信只需要Stream或者byte[]就够了
------解决思路----------------------
说来说去,我也没有看出你具体在哪里有什么具体的问题。

在你的解决方案中,你可以有asp.net网站、winform窗口程序、wpf窗口程序、Console控制台程序、类库项目等等,都在同一个解决方案下。然后你的asp.net网站可以引用其它任何工程,调用其它工程中的代码,对象实例化其它工程中的类型,没有任何问题。

只要稍微试一下就知道了。

你具体有什么问题?贴出你的截屏画面来。
------解决思路----------------------
引用:
Quote: 引用:

winform的通信webform也能做,但问题在于,你的winform是接受到通信就可以直接展示给用户的,webform你接收到了数据能怎么办呢?html5还能通过Websocket跟客户端通信,其它不支持html5的浏览器只能js轮询

哦,这里怪我没有说清楚,通信和网站两大部分的数据通信暂时要求是通过数据库过渡的,所以两部分的关联度比较小,最多也就是一些全局量的问题。。。


如果你有把业务的写在单独的项目(DLL)里,WINFORM只是调用那个项目的,改成WEB的最多是UI部份的重写,
如果你把业务的一起写在了那个exe里也不是不可以的,WEBUI还是要重写,WEB项目还是可以引用那个exe工程,不过不能直接show窗体就是了,只能调用里面的业务部份的代码,这是可以的。

还有一种及端的做法,你啥都不用改,把你WINFROM的主窗体封装成Activex控件,就可以在浏览器上看到你的窗体了。
剩下的子窗体啥的跟WinForm没区别了。照样Show出来。。
  相关解决方案