none
WCF构架的系统解决方案在外网(internet)以什么方式部署好呢? RRS feed

  • 问题

  • 各位版主,老师们:

         可能我这个问题问的模糊不清,那是因为我对这个WCF技术还不是很熟悉,请别介意。

    我想问一下:假设我现在想做一个企业的应用系统(ERP\CRM)之类的开发,这个企业在全国各地都有分支机构或分公司,所以下面的单位都有和公司总部这边有业务或是数据交换、共享、统一等操作,所以会用到诸如ERP\CRM之类的应用软件。而这套软件的开发采用WCF的技术进行架构,在内网(即公司总部内)应该开发什么样的UI比较合适,在外面(即分支机构)又以何种UI进行部署并连接到总部比较合适?是不是内网也可以直接做桌面应用开发(即C/S架构),在外网也可以用同一个桌面程序应用吗?需不需要再另外在外网单独部署一个ASP.NET形式的应用才能连接到总部?

    2010年9月28日 9:20

答案

  •  

    WCF的工作就是提供数据通讯。托管来说IIS比较方便。

    对于Internet应用,你可以使用Message安全模式,这样各个分公司可以调用此WCF服务。

    对于局域网内部的调用,也可以IIS,但是企业内部一般推荐使用NetTcpBinding,这样提高效率,也可以使用Windows域来提供安全。

    建议相同的服务,提供2个终结点,使用不同的Binding即可。


    Frank Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
     

    老徐的网站】:http://www.frankxulei.com/

    老徐的博客】:http://www.cnblogs.com/frank_xl/

    微软WCF中文技术论坛
    微软WCF英文技术论坛

    • 已标记为答案 Mog Liang 2010年10月5日 6:38
    2010年9月30日 11:05
    版主
  • 供你参考

    我这边用的C/S,相同的客户端,相同的服务器端,BasicHttpBinding(后来为了动态调整TranferMode,Keep-Alive等属性,使用的是基于BasicHttpBinding的CustomBinding)

    外部使用https访问,pound反向代理指向服务器的真正地址;内部直接http访问服务器。

    客户端启动的时候进行尝试连接,判断自己处于外网还是内网,动态选择连接不同的endpoint address(https://xxxx.com或者http://xxxx.com)

     

    客户端程序用ClickOnce从网站上发布(后来后悔了,ClickOnce的可定制性,灵活性比较差,最好还是自己实现自动更新安装,网上有很多源码,可以弄下来自己改造)

     

    希望能对你有帮助

     

    2010年10月7日 5:21

全部回复