WCF服务创建到发布(SqlServer版)

﹏ヽ暗。殇╰゛Y 2021-11-04 13:14 451阅读 0赞

在本示例开始之前,让我们先来了解一下什么是wcf? wcf有哪些特点?

wcf是一个面向服务编程的综合分层架构。该架构的项层为服务模型层。

使用户用最少的时间和精力建立自己的软件产品和外界通信的模型。它使得开发者能够建立一个跨平台的安全、可信赖、事务性的解决方案。且能与已有系统兼容写作。

简单概括就是:一组数据通信的应用程序开发接口。

好啦,wcf就介绍这么多,需更深入的了解请百度或自己去用了之后就会深有体会。下面开始我们的示例。

在这个示例中, 我们将学习如何创建WCF服务,如何测试WCF服务,如何发布wcf服务到IIS上。如何在客户端调用WCF服务。

  1. 本示例教程结合EF6.0,以及连接SqlServer的一个Dome,好啦,下面开始正式讲解。

第一步:创建“WCF服务应用程序”

1686903-20190702105741056-127347443.png

点击确定,会创建出我们的WCF项目,在解决方案中会自动为我们生成两个类文件“IService.cs”和“Service.cs”。如下图所示。↓

1686903-20190702105816746-1622211873.png

第二步:我们先创建个类库用来存放实体模型。

在“解决方案窗口”中,我们右击解决方案,选择“添加”,新建项目,再单击“类库”确定。

1686903-20190702105853115-1430893476.png

插入一步:创建服务需要安装数据库连接,鼠标右键点击解决方案,选择 “管理解决方案的nuget程序包”弹出如下界面,在“浏览”选项卡的搜索框中输入“sql” 选择第一个安装,需要选择项目中的 “类库(本例中为calsslibray1)” 和 “服务(本例中为wcfservice4)” 如下图:

1686903-20190702105917729-490380641.png

  1. 数据库连接

同样,鼠标右键点击解决方案,选择 “管理解决方案的nuget程序包”,弹出如下界面,选择安装EntityFramework,勾选所列出的类,本项目只有Classlibrary1和WcfService3两个类,都要勾选。

1686903-20190702105949667-83892919.png

第三步:创建EF实体模型。

为了方便管理,我们先创建个文件夹用来存放实体类。

然后右击文件夹→添加→新建项。如下图所示:↓

1686903-20190702110016153-1544480530.png

  1. 然后我们左边菜单选择:数据→ADO.NET实体数据模型。如下图所示。↓

1686903-20190702110044098-488070385.png

点击添加之后,我们会看到有几个选择, 分别代表:数据库优先、模型优先、代码优先。

本Dome选择来自数据库的CodeFist,也就是代表:代码优先。如下图所示。↓

1686903-20190702110106851-1886042698.png

点击下一步之后,再点击“新建连接”,然后测试连接是否成功,再选择数据库。如下图所示。

1686903-20190702110136368-542421409.png

然后再勾选自己所需要生成的实体表,如下图所示。

1686903-20190702110210007-2055263204.png

插入: 这里若出现选择是否包含敏感字符时, 选择“是”, app.config和web.config 里面最后一行会出现密码,若选择否,则不出现密码。

然后你就会看到EntityModel这个文件夹下会多出两个类文件,由于我只选择了一个表生成的,所以是两个类文件。如下图所示。

1686903-20190702110242147-1630802217.png

然后我们点开“Model1.cs”,首先看到的是一个构造函数, 底下是我们所选表生成的一些代码,这些我们都不需要关心,都是自动生成的。这个构造函数后面的“name=Model1”就是对应的连接字符串。我们打开App.config便可知。然后把此连接字符串复制粘贴到wcf服务应用程序中的Web.config里面(必须有的一步)。 如下图所示。

1686903-20190702110322621-629631925.png

第五步:定义契约,我们开始写服务。

  1. 首先我们在“IService1”中定义锲约。注意:每个锲约上都要加上\[OperationContract\]标记。如下图所示。

1686903-20190702110337526-1493835978.png

  1. 然后我们在“Service1.svc”中实现我们所有定义的契约。如下图所示。

1686903-20190702110353522-2003322512.png

到这一步,我们的服务已经完成了。现在我们开始本地测试服务是否有问题,如没问题再发布到IIS上去。

测试步骤:右击“Service1.svc” 选择在浏览器中查看,如下图所示,说明服务没问题。然后我们再用wcf测试客户端测试一下我们做的一些操作是否正确。

1686903-20190702110553980-837094444.png

如上图所示,只能说明我们的服务写的没问题,但并不确定服务中所写的一些代码访问数据是否正确。那么我们就在服务端利用WCF测试客户端调用我们所写的代码是否正确。

1686903-20190702110607524-765484016.png

打开服务端步骤:首先,我们将“Service1.svc”设为起始页,然后把整个服务应用程序设为启动项目,最后F5运行。如下图所示。

1686903-20190702110629639-558648217.png

如上图,我们测试Del,传入值再调用,如果没报错且左下角提示服务调用完成,说明已经成功调用并执行我们所写的代码功能。

原文:https://blog.csdn.net/zhoubangbang1/article/details/79082788

转载于:https://www.cnblogs.com/edllixiaoyu/p/11119336.html

发表评论

表情:
评论列表 (有 0 条评论,451人围观)

还没有评论,来说两句吧...

相关阅读

    相关 WCF服务自我寄宿】

    WCF服务的寄宿方式 WCF寄宿方式是一种非常灵活的操作,可以寄宿在各种进程之中,常见的寄宿有: IIS服务、Windows服务、Winform程序、控制台程序中进行寄

    相关 WCF服务发布IIS上

    第一步:打开我们上一篇文章中建立的WCF服务项目。 第二步:新建WCF服务站点。在解决方案上右击,选择“添加”->“新建网站”,打开新建网站对话框。在“添加新网站”对话框中,

    相关 WCF的坎坷发布之路

    背景       发布WCF服务之后,总会遇到这样活着那样的错误。再加上对IIS中的一些程序应用不太熟悉,所以解决起来比较困难。网上的解决方案特别多,但都只给出