其他分享
首页 > 其他分享> > 服务发布步骤

服务发布步骤

作者:互联网

①:在服务端,有两个类库-BLL(业务层) 和 DAL(数据层) ,一个WCF服务应用程序-WcfService,

      加粗标黑的(但Visual Studio界面为黑色,就不是加粗标黑,而是白色加粗),就是当前的启动项目。两个类库-BLL和DAL不能作为启动项目,需要把WCF服务应用程序设为启动项目。打开项目,需要检查是否把WcfService设为启动项目,

      这三个项目BLL 和 DAL,WcfService(这三层),会有相互的引用。代码的请求,页面层请求到业务逻辑层,业务逻辑层再请求到数据层。

      操作:BLL层引用DAL层  (引用-鼠标右键 添加引用-项目-DAL打钩-确定)

                WcfService层也需要引用BAL层   (引用-鼠标右键 添加引用-项目-BLL打钩-确定)

     只有BLL层引用DAL层,才可以在BLL实例化DAL

②:写 BLL业务层之前,需要引用到几个命名空间 System.Data 和 System.SqlClient,System.ServiceModel

      在业务层开启一个服务契约,引用 - 添加引用 - 程序集-搜索ServiceModel-System.ServiceModel(第一个打钩)-点击确定按钮

   

      在服务端,做一个业务逻辑处理,实际上要操控的是数据库存储过程-[dbo].[WDLogin] (关键字 ALTER PROCEDURE ) 的存储语句@type='btnLogin_Click_CheckLogin' (关键字 IF() );

     需要用到数据库的操作。在BLL,通过实例化DAL,调用DAL的方法--比如查询数据缓存,返回一条数据

     然后执行该业务层。执行之后(可以关掉),之后需要发布服务。

③:写完BLL层和DAL层,需要在WCF服务应用程序-WcfService层发布服务。

       展开WcfService,鼠标右键Web.config-编辑WCF配置-选中服务配置编辑器中的高级(展开)-服务行为(展开)-空名称-行为 常规配置 Name (给服务行为添加名字) 如 BLL

       添加名字,放开鼠标后,空名称就变为BLL  -  BLL里的第一个文件 ServiceMetadata - 默认常规是 True True Default, 把第二个True 对应的是 HttpsGetEnabled ,由True改为False

       BLL里的第二个文件 ServiceDebug - 默认为 True True False(IncludeExceptionDetailInFaults) 改为 True True True

       选中服务配置编辑器中的服务 - 新建服务 - 新建服务元素向导,点击浏览(服务类型不用填) - 弹出一个目录 - 向上一级找,找到BLL文件夹-bin文件夹-Debug-BLL dll -

      点击BLL.WDLogin 类型名称-打开按钮-回到新建服务元素向导页面-服务类型主动回填,复制类型名称(ctrl + C)-下一步(不用更改)-下一步-终结点的地址是什么-地址(A) 本地地址(一般都是) 删除http://(空白) - 下一步- Microsoft 服务配置编辑器 保留空地址 点击 是(Y)按钮-完成按钮

   

①:在服务端,有两个类库-BLL(业务层) 和 DAL(数据层) ,一个WCF服务应用程序-WcfService,

      加粗标黑的(但Visual Studio界面为黑色,就不是加粗标黑,而是白色加粗),就是当前的启动项目。两个类库-BLL和DAL不能作为启动项目,需要把WCF服务应用程序设为启动项目。打开项目,需要检查是否把WcfService设为启动项目,

      这三个项目BLL 和 DAL,WcfService(这三层),会有相互的引用。代码的请求,页面层请求到业务逻辑层,业务逻辑层再请求到数据层。

      操作:BLL层引用DAL层  (引用-鼠标右键 添加引用-项目-DAL打钩-确定)

                WcfService层也需要引用BAL层   (引用-鼠标右键 添加引用-项目-BLL打钩-确定)

     只有BLL层引用DAL层,才可以在BLL实例化DAL

②:写 BLL业务层之前,需要引用到几个命名空间 System.Data 和 System.SqlClient,System.ServiceModel

      在业务层开启一个服务契约,引用 - 添加引用 - 程序集-搜索ServiceModel-System.ServiceModel(第一个打钩)-点击确定按钮

   

      在服务端,做一个业务逻辑处理,实际上要操控的是数据库存储过程-[dbo].[WDLogin] (关键字 ALTER PROCEDURE ) 的存储语句@type='btnLogin_Click_CheckLogin' (关键字 IF() );

     需要用到数据库的操作。在BLL,通过实例化DAL,调用DAL的方法--比如查询数据缓存,返回一条数据

     然后执行该业务层。执行之后(可以关掉),之后需要发布服务。

③:写完BLL层和DAL层,需要在WCF服务应用程序-WcfService层发布服务。

       展开WcfService,鼠标右键Web.config-编辑WCF配置-选中服务配置编辑器中的高级(展开)-服务行为(展开)-空名称-行为 常规配置 Name (给服务行为添加名字) 如 BLL

       添加名字,放开鼠标后,空名称就变为BLL  -  BLL里的第一个文件 ServiceMetadata - 默认常规是 True True Default, 把第二个True 对应的是 HttpsGetEnabled ,由True改为False

       BLL里的第二个文件 ServiceDebug - 默认为 True True False(IncludeExceptionDetailInFaults) 改为 True True True

       选中服务配置编辑器中的服务 - 新建服务 - 新建服务元素向导,点击浏览(服务类型不用填) - 弹出一个目录 - 向上一级找,找到BLL文件夹-bin文件夹-Debug-BLL dll -

      点击BLL.WDLogin 类型名称-打开按钮-回到新建服务元素向导页面-服务类型主动回填,复制类型名称(ctrl + C)-下一步(不用更改)-下一步-终结点的地址是什么-地址(A) 本地地址(一般都是) 删除http://(空白) - 下一步- Microsoft 服务配置编辑器 保留空地址 点击 是(Y)按钮-完成按钮

      完成之后,会新建一个服务BLL.WDLogin , 然后去配置终结点(展开)-空名称-服务终结点 常规 配置Name, Name为复制的类型名称(ctrl + V)-

     下一步把服务(BLL.WDLogin)归类到服务行为BLL(高级-服务行为)-选择服务(BLL.WDLogin)- 服务:BLL.WDLogin-常规 - BehaviorConfiguration(第一行)-点击向下展开按钮,选择你刚刚配置的服务行为BLL,

      至此,服务新建成功,但若需要发布服务,需要额为配置宿主环境;

      宿主坏境展开-serviceActivations(最后一个)-点击新建按钮-在服务激活编辑器中,匹配指定服务的相对路径RelativeAddress,复制类型名称(ctrl +V)+.svc(点svc) [BLL.WDLogin.svc] - 匹配Service复制类型名称(ctrl +V) [BLL.WDLogin] - 再复制服务的相对路径-BLL.WDLogin.svc -点击确定,配置成功,然后关闭,保存更改

      配置成功,需要去检测是否配置成功,运行项目,再原有地址,比如localhost:1228,之上,加一斜杠/,粘贴服务的相对地址BLL.WDLogin.svc,回车,当出现已创建服务时,表明服务创建成功,然后复制整条路径/链接,去客户端,通过整条路径/链接把客户端和服务端链接起来。

      

④:客户端如何引用服务端

       在客户端,需要添加服务引用。引用-添加服务引用-粘贴地址-给命名空间命名

      地址是发布服务的完整路径。点击转到按钮,查看是否找到一个服务。成功,

      更改命名空间名称(把服务封装成一个命名空间),通过命名空间的方式直接引用服务,

     若添加成功,则会在引用上方,生成一个名为 Connected Services 的服务引用。展开服务引用后,里面是新添加的命名空间。

     这样就可以拿到服务层,可以通过实例化命名空间的方式,直接调用服务层的方法

标签:服务,DAL,步骤,BLL,发布,引用,True,WcfService
来源: https://blog.csdn.net/m0_59497361/article/details/120357093