欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

请教大家怎么在wcf中组织自己的文件

更新时间: 2014-01-05 01:59:43 责任编辑: Author_N1

 

请问大家如何在wcf中组织自己的文件
请教大家一个问题,每个svc都必须发布一个地址吗?我要如何要wcf中组织自己的文件,因为我的方法比较多,如果都写在一个svc文件中,估计会有几百个方法。

比如我有人事类,生产类,销售类等三大类都有api需要公开,如果我要结构明确的公开这三个类的api,必须要三个svc文件吗?

--参考方法--
WCF 配置文件里可以配置多个 Endpoint,每个Endpoint就是一个服务

从服务类型划分是合理的,各自独立维护也很好,比较好的做法是创建3个 WCF Service Library,
然后在一个 WCF Service Application里发布。

那么你说的:人事类,生产类,销售类 可以分别对应3个工程(WCF library)
--参考方法--
对于特别复杂的wcf服务,也可以像程序分层那样,按照层次划分:那些基础的服务和公共的数据结构放在一起,上面再是每个独立的服务模块,这样用户只要垂直引用他想要的就可以了。
--参考方法--
引用:
请教大家一个问题,每个svc都必须发布一个地址吗?我要如何要wcf中组织自己的文件,因为我的方法比较多,如果都写在一个svc文件中,估计会有几百个方法。

比如我有人事类,生产类,销售类等三大类都有api需要公开,如果我要结构明确的公开这三个类的api,必须要三个svc文件吗?
一个svc中有几百个方法,也是常见的。比如说一个小商店,它可能总共也就10个服务方法,写到一个或者5个svc中的差别不大。

你打算把你的系统按照模块分为不同的svc,最好还是面向于“将来要分为不同的网站”的方向去设计。
--参考方法--
我目前是这样做的,定义了多个IXContract.cs,IXXContract.cs,IXXXContract.cs…IXNContract.cs文件,然后定义多个X.svc,XX.svc,XXX.svc…XN.SVC,在config中配置如下:
<service name="WCF.BLL.XBLL">
        <endpoint address="" behaviorConfiguration="webHttp" binding="webHttpBinding" contract="WCF.Contract.IXContract"/>
</service>
<service name="WCF.BLL.XBLL">
        <endpoint address="" behaviorConfiguration="webHttp" binding="webHttpBinding" contract="WCF.Contract.IXXContract"/>
</service>
<service name="WCF.BLL.XBLL">
        <endpoint address="" behaviorConfiguration="webHttp" binding="webHttpBinding" contract="WCF.Contract.IXXXContract"/>
</service>
......
<service name="WCF.BLL.XBLL">
        <endpoint address="" behaviorConfiguration="webHttp" binding="webHttpBinding" contract="WCF.Contract.IXNContract"/>
</service>


这样就可以了,每个IXNContract 都有多个方法提供,当然,每次调用的时候,地址中的服务是会变的。
static string strSVCUrl = "http://localhost/WCF/WCF.SV/X.svc/";
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 01:59:43
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/4235/
本文WWW.DOC100.NET DOC100.NET版权所有。