首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web Service >

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

2013-08-06 
请问大家如何在wcf中组织自己的文件请教大家一个问题,每个svc都必须发布一个地址吗?我要如何要wcf中组织自

请问大家如何在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/";


static string strSVCUrl1 = "http://localhost/WCF/WCF.SV/XX.svc/";
static string strSVCUrl2 = "http://localhost/WCF/WCF.SV/XXX.svc/";
......
static string strSVCUrln = "http://localhost/WCF/WCF.SV/XN.svc/";

热点排行