WCF开发日志 -
<div id="cnblogs_post_body">一、摘要场景:
项目比较大,不可能所有契约在一个类里来实现,可能会有上百个服务上千个契约,按照目前在网上搜索的结果是…..只能一个servicehost对应一个服务,某个mvp的建议是所有契约都放到一个类里来实现。。。我崩溃。。。。。
想法:
也有人建议用 partial class的方式,把不同的契约分布到不同的CS文件里,虽然可能看上去好一点,但每回添加服务都得重编译,我觉得太扯淡了 。。。。。
我希望是尽可能的把服务根据功能的不同按模块划分开来,不同的服务做成不同的dll,以插件的形式注册到一个表里,用servicehost来加载,不知大家有没有好的建议 。
其实可以考虑用CSLA.NET的方案,只写一个服务,它称为统一入口,这个方式还是不错的,就是他为解决并发,并发好像在博客园里有人写了怎么实现,地址是 http://www.cnblogs.com/zgynhqf/archive/2010/07/01/1769228.html
现实:
说一千道一万架不住我不会,我只能实现:
1、如何在Windows中Host多个WCF服务?
2、不能是多个Open方法,那样太幼稚了 !
3、 考虑到整个团队都不会CSLA.NET,或OEA 就我会一点:) , 这个还的多谢周哥,和 胡总 的栽培了。
4、 整个团队学习成本太高,只有不断的分享,讨论来加快进度了。
二、本文大纲
a、摘要 。
b、本文大纲 。
c、项目准备阶段 。
d、主要核心代码 。
e、达到的效果图 。
三、项目准备阶段
这个图需要一点C# 基础才能看的懂的:) 估计一上图大家就看的懂(自己想象中……..)了。
http://images.cnblogs.com/cnblogs_com/luomingui/201209/201209062134163527.png
这里主要是创建 Windows项目和 WCF Service Library 项目
Windows项目还需要引用WCF Service Library 项目
四、主要核心代码
<blockquote> http://images.cnblogs.com/cnblogs_com/luomingui/201209/201209062134222932.png
运行按钮事件代码:
<div style="border-bottom: #4f81bd 1px solid; text-align: left; border-left: #4f81bd 1px solid; line-height: 18px; background-color: white; margin: 0px; width: 100.52%; font-family: 'Courier New','Consolas','Fixedsys','BitStream Vera Sans Mono', courier,monospace,serif; height: 272px; color: black; font-size: 12px; overflow: auto; border-top: #4f81bd 1px solid; border-right: #4f81bd 1px solid"> 1: private void button1_Click(object sender, EventArgs e) 2: { 3: if (button1.Tag == "run") 4: { 5: ServiceStart(); 6: button1.Text = "停止(&X)"; 7: button1.Tag = "stop"; 8: } 9: else 10: { 11: button1.Text = "运行(&R)"; 12: button1.Tag = "run"; 13: } 14: } 15:
页:
[1]