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

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: 在本示例开始之前,让我们先来了解一下什么是wcf? wcf有哪些特点?wcf是一个面向服务编程的综合分层架构。该架构的项层为服务模型层。使用户用最少的时间和精力建立自己的软件产品和外界通信的模型。它使得开发者能够建立一个跨平台的安全、可信赖、事务性的解决方案。且能与已有系统兼容写作。简单概括就是:一组数据通信的应用程序开发接口。

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


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


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


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


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


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


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



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




20180117111620365.png

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

20180117111746410.png

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

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


20180117111857944.png


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

20180117112003953.png



       数据库连接

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




20180117112221594.png

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


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

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


20180117112308247.png

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

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

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



20180117112449901.png

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

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

20180117112737056.png


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

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


20180117112848974.png

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

20180117113308156.png

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

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


20180117113610345.png



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


20180117113736945.png


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

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


20180117113931029.png


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


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


20180117114615063.png


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

下次写如何将其部署到IIS上

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
3月前
|
SQL
SqlServer 服务无法启动 操作系统错误: 5(拒绝访问。)
SqlServer 服务无法启动 操作系统错误: 5(拒绝访问。)
96 0
SqlServer 服务无法启动 操作系统错误: 5(拒绝访问。)
|
3月前
|
SQL 数据库连接 网络安全
SQLServer非默认端口下事务复制代理作业服务无法启动的处理
【8月更文挑战第14天】若SQL Server非默认端口下的事务复制代理作业无法启动,可按以下步骤解决:1) 确认服务器连接字符串正确无误,包括非默认端口号;2) 检查防火墙设置,确保允许非默认端口的连接;3) 核实SQL Server配置已启用非默认端口;4) 查阅代理作业日志寻找错误详情;5) 重启SQL Server与Agent服务;6) 使用工具测试非默认端口的连接性。如问题持续,请寻求专业支持。
|
6月前
|
SQL
sql server 服务无法启动
sql server 服务无法启动
|
SQL 关系型数据库 BI
通过WebShell登录SQL Server主机并使用SSRS报表服务
本文将为您介绍如何使用RDS实例的主机账号登录到RDS SQL Server实例主机中。您可以在登录主机后使用SSRS(SQL Server Reporting Services)服务管理和操作SQL Server数据库。
通过WebShell登录SQL Server主机并使用SSRS报表服务
|
C# 数据安全/隐私保护
c#如何创建WCF服务到发布(SqlServer版已经验证)
c#如何创建WCF服务到发布(SqlServer版已经验证)
72 0
|
SQL 数据库 C++
Sql Server服务远程过程调用失败
       由于开发系统,需要vs版本统一,于是经过了昨天一整天艰苦卓绝的斗争,小编终于成功的写在了13版本的vs,重新装上了12版本的vs,本来想着,12版本的vs搭建成功了,就赶快搭建框架,然后敲例子,可是天意弄人,小编的数据库神奇般的打不...
1834 0
|
2月前
|
SQL 数据库
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
SQL Server附加数据库出现错误823,附加数据库失败。数据库没有备份,无法通过备份恢复数据库。 SQL Server数据库出现823错误的可能原因有:数据库物理页面损坏、数据库物理页面校验值损坏导致无法识别该页面、断电或者文件系统问题导致页面丢失。
101 12
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
|
6天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
7天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
21天前
|
存储 数据挖掘 数据库
数据库数据恢复—SQLserver数据库ndf文件大小变为0KB的数据恢复案例
一个运行在存储上的SQLServer数据库,有1000多个文件,大小几十TB。数据库每10天生成一个NDF文件,每个NDF几百GB大小。数据库包含两个LDF文件。 存储损坏,数据库不可用。管理员试图恢复数据库,发现有数个ndf文件大小变为0KB。 虽然NDF文件大小变为0KB,但是NDF文件在磁盘上还可能存在。可以尝试通过扫描&拼接数据库碎片来恢复NDF文件,然后修复数据库。