问题描述
有个公司现在开发维护了10多个网站,都是给客户做的。10个网站都是同一类型,也是这个公司的主营业务,所以很多功能都一样,像是创建账本,统计库存,收据管理什么的,代码几乎一样。现在每个网站都是独立的,如果哪个功能要升级,就要把所有网站改一遍。现在想把一些核心的,通用的功能抽出来,编译成dllassembly。其它项目就引用这个dll,这样就不用重复的在10个网站上修改。这个公司也有webservice接口,有些客户有自己的ERP系统,要用这个接口,所以又想,可不可以把通用功能做成WCF层。WCF跟dll文件引用,有什么好处呢?多谢。
解决方案
解决方案二:
wcf跟dll不是一个层次上的东西。两者并不是排斥的关系,不是说你用了dll就不能用为出发了。wcf是用来作通讯用的框架。而dll是编译好的中间代码。你可以把你做的dll在一台机子上运行,用wcf调用你的dll为所有的机子服务。
解决方案三:
wcf跟dll不是一个层次上的东西。两者并不是排斥的关系,不是说你用了dll就不能用wcf了。wcf是用来作通讯用的框架。而dll是编译好的中间代码。你可以把你做的dll在一台机子上运行,用wcf调用你的dll为所有的机子服务。
解决方案四:
都搞了10个网站了,前期就应该想到这个问题啊。现在再考虑是不是有点晚了.作为公司的核心业务层,早就该封装成dll了。如果要调用wcf,除非你10个网站都部署在同一个机房,否则会出现网速引起的性能问题。你说十个网站代码“几乎“一样,这个”几乎“实在是太不让人放心了。这样做的前提是代码要”完全"一样。如果不能保证的话,还是老老实实维护10个网站吧。毕竟客户要的是稳定。
解决方案五:
10个网站,也是一点一点积累的。开始哪里想到那么多啊。继续维护10个站已经太麻烦了,而且以后还会有更多的站。现在所有网站都在同一台服务器上。速度不是问题。我是想问,加一个wcf层,用wcf调用dll,给所有网站服务,有什么好处呢?
解决方案六:
引用4楼valve1900的回复:
10个网站,也是一点一点积累的。开始哪里想到那么多啊。继续维护10个站已经太麻烦了,而且以后还会有更多的站。现在所有网站都在同一台服务器上。速度不是问题。我是想问,加一个wcf层,用wcf调用dll,给所有网站服务,有什么好处呢?
好处就是需要修改一个通用功能话,修改一处就可以了,坏处就是你要知道哪些是通用的,有可能错用。
解决方案七:
引用5楼gws044010607的回复:
引用4楼valve1900的回复:10个网站,也是一点一点积累的。开始哪里想到那么多啊。继续维护10个站已经太麻烦了,而且以后还会有更多的站。现在所有网站都在同一台服务器上。速度不是问题。我是想问,加一个wcf层,用wcf调用dll,给所有网站服务,有什么好处呢?好处就是需要修改一个通用功能话,修改一处就可以了,坏处就是你要知道哪些是通用的,有可能错用。
如果用dll,也一样啊。通用功能都放到一个dll里,也是改一处就可以了。也有灵活性的问题。
解决方案八:
不用纠结,你都搞在一起,自己不就知道所以然嘛。同样的需求,你搞两个,我不信你不能在一两天之内有所进步。为什么相反地上csdn问这类简单茶具的问题呢。
解决方案九:
引用7楼sp1234的回复:
不用纠结,你都搞在一起,自己不就知道所以然嘛。同样的需求,你搞两个,我不信你不能在一两天之内有所进步。为什么相反地上csdn问这类简单茶具的问题呢。
钻石就是不一样
解决方案十:
引用4楼valve1900的回复:
我是想问,加一个wcf层,用wcf调用dll,给所有网站服务,有什么好处呢?
最基本的概念,提供wcf的目的是因为不想对方拥有dll。
解决方案十一:
你编译为dll复用如果可行,我实在看不出来有什么理由扯上wcf这种概念。难道仅仅因为它时髦?先动手做试验,然后自己选择答案。在步入社会之前没有什么正规的试验经验,是现在很多学生的毛病,以至于工作之后就好像2岁的小孩子学游泳时被人直接扔到水里一样,抓到什么时髦概念都纠结。
解决方案十二:
对于框架使用问题,先要自己动手,就好象搞研究一样进行测试,然后把自己的经验大声说出来,而不是去csdn这种地方提很简单的问题。
解决方案十三:
引用9楼sp1234的回复:
引用4楼valve1900的回复:我是想问,加一个wcf层,用wcf调用dll,给所有网站服务,有什么好处呢?最基本的概念,提供wcf的目的是因为不想对方拥有dll。
对,这是一个好处。
解决方案十四:
引用10楼sp1234的回复:
你编译为dll复用如果可行,我实在看不出来有什么理由扯上wcf这种概念。难道仅仅因为它时髦?先动手做试验,然后自己选择答案。在步入社会之前没有什么正规的试验经验,是现在很多学生的毛病,以至于工作之后就好像2岁的小孩子学游泳时被人直接扔到水里一样,抓到什么时髦概念都纠结。
这个问题起于要剔除重复代码。想到WCF是因为这些网站现在有WebService,同客户连接。这样就长远看,肯定要有对外的WCF接口。那么对内呢?是WCF的接口,还是dll?这不是一个实验问题。实验可以验证可行性,单选择最佳方案需要经验,所以才发贴问啊。
解决方案十五:
完全是两个东西
解决方案:
个人觉得就剔除重复代码,其实wcf和dll都能实现。wcf,你请求服务的时候,总是要时间的,当然了,如果每次更新,你也不用去每一网站替换dll,只要更新下自己的wcf服务。