最近一直在忙项目的事情,今天有点空,刚好山东的一个源码学习者,问我怎么配置、安装、运行通用权限管理系统,WCF技术在通用权限管理系统中的处理方式。大约折腾了一个小时多,才让那位山东的朋友有点明白,现将配置的详细步骤发布出来,同时将通用权限管理系统的试用版也发布出来,大家体会体会,共同提高。

1.打开通用权限管理系统解决方案,默认的时候,WCFHOST与WCFClient两个项目没有添加到解决方案中。咱们先把这两个项目添进去。

主要的配置代码为:

<service name="DotNet.Service.ExceptionService" behaviorConfiguration="Internet">
<endpoint address="net.tcp://localhost:8888/DotNet.Service/ExceptionService/" binding="netTcpBinding" contract="DotNet.IService.IExceptionService">
</endpoint>
</service>
<service name="DotNet.Service.FileService" behaviorConfiguration="Internet">
<endpoint address="net.tcp://localhost:8888/DotNet.Service/FileService/" binding="netTcpBinding" contract="DotNet.IService.IFileService">
</endpoint>
</service>
<service name="DotNet.Service.FolderService" behaviorConfiguration="Internet">
<endpoint address="net.tcp://localhost:8888/DotNet.Service/FolderService/" binding="netTcpBinding" contract="DotNet.IService.IFolderService">
</endpoint>
</service>
<service name="DotNet.Service.ItemDetailsService" behaviorConfiguration="Internet">
<endpoint address="net.tcp://localhost:8888/DotNet.Service/ItemDetailsService/" binding="netTcpBinding" contract="DotNet.IService.IItemDetailsService">
</endpoint>
</service>
<service name="DotNet.Service.ItemsService" behaviorConfiguration="Internet">
<endpoint address="net.tcp://localhost:8888/DotNet.Service/ItemsService/" binding="netTcpBinding" contract="DotNet.IService.IItemsService">
</endpoint>
</service>
<service name="DotNet.Service.LogOnService" behaviorConfiguration="Internet">
<endpoint address="net.tcp://localhost:8888/DotNet.Service/LogOnService/" binding="netTcpBinding" contract="DotNet.IService.ILogOnService">
</endpoint>
</service>
<service name="DotNet.Service.LogService" behaviorConfiguration="Internet">
<endpoint address="net.tcp://localhost:8888/DotNet.Service/LogService/" binding="netTcpBinding" contract="DotNet.IService.ILogService">
</endpoint>
</service>
<service name="DotNet.Service.MessageService" behaviorConfiguration="Internet">
<endpoint address="net.tcp://localhost:8888/DotNet.Service/MessageService/" binding="netTcpBinding" contract="DotNet.IService.IMessageService">
</endpoint>
</service>
<service name="DotNet.Service.ModuleService" behaviorConfiguration="Internet">
<endpoint address="net.tcp://localhost:8888/DotNet.Service/ModuleService/" binding="netTcpBinding" contract="DotNet.IService.IModuleService">
</endpoint>
</service>
<service name="DotNet.Service.OrganizeService" behaviorConfiguration="Internet">
<endpoint address="net.tcp://localhost:8888/DotNet.Service/OrganizeService/" binding="netTcpBinding" contract="DotNet.IService.IOrganizeService">
</endpoint>
</service>
<service name="DotNet.Service.ParameterService" behaviorConfiguration="Internet">
<endpoint address="net.tcp://localhost:8888/DotNet.Service/ParameterService/" binding="netTcpBinding" contract="DotNet.IService.IParameterService">
</endpoint>
</service>
<service name="DotNet.Service.PermissionItemService" behaviorConfiguration="Internet">
<endpoint address="net.tcp://localhost:8888/DotNet.Service/PermissionItemService/" binding="netTcpBinding" contract="DotNet.IService.IPermissionItemService">
</endpoint>
</service>
<service name="DotNet.Service.PermissionService" behaviorConfiguration="Internet">
<endpoint address="net.tcp://localhost:8888/DotNet.Service/PermissionService/" binding="netTcpBinding" contract="DotNet.IService.IPermissionService">
</endpoint>
</service>
<service name="DotNet.Service.RoleService" behaviorConfiguration="Internet">
<endpoint address="net.tcp://localhost:8888/DotNet.Service/RoleService/" binding="netTcpBinding" contract="DotNet.IService.IRoleService">
</endpoint>
</service>
<service name="DotNet.Service.SequenceService" behaviorConfiguration="Internet">
<endpoint address="net.tcp://localhost:8888/DotNet.Service/SequenceService/" binding="netTcpBinding" contract="DotNet.IService.ISequenceService">
</endpoint>
</service>
<service name="DotNet.Service.StaffService" behaviorConfiguration="Internet">
<endpoint address="net.tcp://localhost:8888/DotNet.Service/StaffService/" binding="netTcpBinding" contract="DotNet.IService.IStaffService">
</endpoint>
</service>
<service name="DotNet.Service.UserService" behaviorConfiguration="Internet">
<endpoint address="net.tcp://localhost:8888/DotNet.Service/UserService/" binding="netTcpBinding" contract="DotNet.IService.IUserService">
</endpoint>
</service>
<service name="DotNet.Service.UserCenterDbHelperService" behaviorConfiguration="Internet">
<endpoint address="net.tcp://localhost:8888/DotNet.Service/UserCenterDbHelperService/" binding="netTcpBinding" contract="DotNet.IService.IDbHelperService">
</endpoint>
</service>
<service name="DotNet.Service.BusinessDbHelperService" behaviorConfiguration="Internet">
<endpoint address="net.tcp://localhost:8888/DotNet.Service/BusinessDbHelperService/" binding="netTcpBinding" contract="DotNet.IService.IDbHelperService">
</endpoint>
</service>
<service name="DotNet.Service.WorkFlowActivityAdminService" behaviorConfiguration="Internet">
<endpoint address="net.tcp://localhost:8888/DotNet.Service/WorkFlowActivityAdminService/" binding="netTcpBinding" contract="DotNet.IService.IWorkFlowActivityAdminService">
</endpoint>
</service>
<service name="DotNet.Service.WorkFlowCurrentService" behaviorConfiguration="Internet">
<endpoint address="net.tcp://localhost:8888/DotNet.Service/WorkFlowCurrentService/" binding="netTcpBinding" contract="DotNet.IService.IWorkFlowCurrentService">
</endpoint>
</service>
<service name="DotNet.Service.WorkFlowProcessAdminService" behaviorConfiguration="Internet">
<endpoint address="net.tcp://localhost:8888/DotNet.Service/WorkFlowProcessAdminService/" binding="netTcpBinding" contract="DotNet.IService.IWorkFlowProcessAdminService">
</endpoint>
</service>
</services>

以下主要是用来身证份验证的,x509证书自己配置一下。

  <behavior name="Internet">
          <serviceCredentials>
            <serviceCertificate storeName="My" storeLocation="LocalMachine" x509FindType="FindBySubjectName" findValue="pp-pc" />
          </serviceCredentials>
        </behavior>

 在WCFHOST项目中配置好Config.Xml 数据库连接字符串

以上为服务端配置完成

运行效果如图所示:

客户端配置

都写好了的,自己要的话,无须任何编码实现。

红色的位置配置好了,这样我们就可以运行客户端了(将服务端开着,双击客户端)。

客户端登录完毕,界面效果图之一:

此时服务端依次显出那些服务被调用了,如下图所示:

附:通用权限管理系统下载

文档下载QQ群共享中:153585978

本着互相学习,共同提高的原则,不接受过分的喷。

作者: 做中国最具实力的数字化系统供应商。 发表于 2011-06-02 16:27 原文链接

推荐.NET配套的通用数据层ORM框架:CYQ.Data 通用数据层框架