星空网 > 软件开发 > ASP.net

WCF学习之旅—第三个示例之三(二十九)

        上接WCF学习之旅—第三个示例之一(二十七)

              WCF学习之旅—第三个示例之二(二十八)

          在上一篇文章中我们创建了实体对象与接口协定,在这一篇文章中我们来学习如何创建WCF的服务端代码。具体步骤见下面。

六、创建项目BookMgr.Service的WCF服务代码

     第一步、安装Entity Framework 6.1.3

    1)  安装过程同上一篇文章中类似。使用NuGet下载最新版的Entity Framework 6.1.3。在解决方案资源管理器中——>在项目BookMgr.Service上鼠标右键单击——>弹出一个菜单,选中“管理解决方案的NuGet程序包”,打开NuGet程序包管理界面。如下图。 WCF学习之旅—第三个示例之三(二十九)

        2)      在NuGet程序包管理界面中搜索 Entity,找到最新版本Entity Framework,点击安装。如下图。 WCF学习之旅—第三个示例之三(二十九)

   第二步、创建WCF服务代码

      1)  在“解决方案资源管理器”中使用鼠标右键,点击“BookMgr.Service”项目,在弹出菜单上,依次选择“添加—》WCF服务” WCF学习之旅—第三个示例之三(二十九)

      2)  在“项名称”文本框中,输入 BookService,然后选择“确定”按钮。 WCF学习之旅—第三个示例之三(二十九)

       3) 删除同步生成的IBookService接口文件。

       4) 在“解决方案资源管理器中”中,定位BookService.svc.cs文件,双击在“代码编辑器”中打开,并编写如下代码。

using System;using System.Collections.Generic;using System.Linq;using System.Runtime.Serialization;using System.ServiceModel;using System.Text;using BookMgr.Contracts;using BookMgr.Model;using BookMgr.Common;using System.Data.Entity; namespace BookMgr.Service{  // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码、svc 和配置文件中的类名“BookService”。  // 注意: 为了启动 WCF 测试客户端以测试此服务,请在解决方案资源管理器中选择 BookService.svc
// 或 BookService.svc.cs,然后开始调试。 public class BookService :IBookService { BookEntities db = new BookEntities(); public string Add(string mbook) { try { Books book = (mbook); db.Books.Add(book); db.SaveChanges(); } catch (Exception ex) { return ex.Message; } return "true"; } public string Delete(string bookInfo) { try { Books book = (bookInfo); db.Entry(book).State = EntityState.Deleted; db.SaveChanges(); } catch (Exception ex) { return ex.Message; } return "true"; } public void DoWork() { } public string Edit(string mbook) { try { Books book = (mbook); db.Entry(book).State = EntityState.Modified; db.SaveChanges(); } catch (Exception ex) { //这里如果出现异常,则返回一个自定义的错误信息,用于进行调试,可以看到更详细的异常信息,方便定位问题。 string reason = GetErrorMessage(ex); SQLError error = new SQLError("更新数据库操作", reason); throw new FaultException<SQLError>(error, new FaultReason(reason), new FaultCode("Edit")); } return "true"; } public string Get(string Id) { int bookId = Convert.ToInt32(Id); Books book = db.Books.Find(bookId); string (book); return //throw new NotImplementedException(); } public string Search(string Category, string searchString) { var cateLst = new List<string>(); var cateQry = from d in db.Books orderby d.Category select d.Category; cateLst.AddRange(cateQry.Distinct()); var books = from m in db.Books select m; if (!String.IsNullOrEmpty(searchString)) { books = books.Where(s => s.Name.Contains(searchString)); } List<Books> list = null; if (string.IsNullOrEmpty(Category)) { list = books.ToList<Books>(); //return } else { list = books.Where(x => x.Category == Category).ToList<Books>(); // return } return (list); } StringBuilder sb = new StringBuilder(); /// <summary> /// 递归获取错误信息的内部错误信息,直到InnerException为null /// </summary> /// <param name="ex"></param> private string GetErrorMessage(Exception ex) { if (ex.InnerException != null) { sb.Append("InnerException:"+ex.Message + ","); GetErrorMessage(ex.InnerException); } else { sb.Append(ex.Message + ","); } return sb.ToString(); } }}

         5)  在“解决方案资源管理器”中从“BookMgr.Model”项目中的“App.Config”文件复制到“BookMgr.Service”项目中。如下图。

 WCF学习之旅—第三个示例之三(二十九)     6)  在菜单栏上,依次选择“调试”、“开始执行(不调试)”以运行服务。 此时将打开一个浏览窗口,并显示该服务的

 WCF学习之旅—第三个示例之三(二十九)       7)  关闭浏览器窗口。




原标题:WCF学习之旅—第三个示例之三(二十九)

关键词:wcf

wcf
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

海外网红营销ROI评估:出海品牌如何科学衡量投资回报?:https://www.ikjzd.com/articles/1663082166268665858
重磅!倒计时7天,亚马逊将下架不符合德国WEEE合规的商品。:https://www.ikjzd.com/articles/1663086552324272130
送你一份情人节--撩妹宝典,撩妹47章经带你解锁各种姿势:https://www.ikjzd.com/articles/16631
人民币汇率今年首次破7,美元能否再创新高?|外汇说Vol.16:https://www.ikjzd.com/articles/1663104408276901890
Facebook海外户,教你创建Facebook企业账户:https://www.ikjzd.com/articles/1663105302364102658
跨境周报|亚马逊FBA又爆仓,TikTok、Lazada推出AI:https://www.ikjzd.com/articles/1663107296457859073
在古巴做游轮 古巴旅游项目:https://www.vstour.cn/a/363194.html
西藏旅游攻略自驾游需要多少天 去西藏旅游自驾游要多久时间:https://www.vstour.cn/a/363195.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流