vs新建网站选项只有wcf服务器,WCF教程一:新建并部署

news/2024/5/20 1:33:00/文章来源:https://blog.csdn.net/weixin_39754915/article/details/119409363

一、概述

Windows Communication Foundation(WCF)是由微软发展的一组数据通信的应用程序开发接口,可以翻译为Windows通讯接口,它是.NET框架的一部分。由 .NET Framework 3.0 开始引入。

WCF的最终目标是通过进程或不同的系统、通过本地网络或是通过Internet收发客户和服务之间的消息。

WCF合并了Web服务、.net Remoting、消息队列和Enterprise Services的功能并集成在Visual Studio中。

WCF专门用于面向服务开发。

0c21fe76173e

客户机使用浏览器访问服务器A,服务器A为了业务需要与其他各种应用部署在服务器B、C、D....再通过WCF技术互相通信,相互访问...然而面向服务的好处不仅仅在此,他还提供了不同语言不同操作系统的可交互性。

二、新建WCF

说明:本文环境是建立在VS2017的基础上,不同版本VS操作上可能会有点不同

新建项目,直接选择创建WCF服务应用程序,

0c21fe76173e

创建之后,生成这样的目录:

0c21fe76173e

2.删除系统生成的两个文件IService1.cs与Service1.svc。

3.添加自定义的WCF【服务文件】User.svc,此时vs2010会自动生成WCF接口文件IUser.cs,我们在IUser中定义WCF方法PlusNumber,在User.svc.cs对该接口的方法进行实现。

0c21fe76173e

代码如下:

//IUser.cs

namespace WcfService1

{

// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IUser”。

[ServiceContract]

public interface IUser

{

//[OperationContract]

//void DoWork();

[OperationContract]

string PlusNumber(int a, int b);

}

}

//User.svc.cs

namespace WcfService1

{

// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码、svc 和配置文件中的类名“User”。

// 注意: 为了启动 WCF 测试客户端以测试此服务,请在解决方案资源管理器中选择 User.svc 或 User.svc.cs,然后开始调试。

public class User : IUser

{

//public void DoWork()

//{

//}

public string PlusNumber(int a, int b)

{

int c = a + b;

string result = "WCF服务计算结果:"+c.ToString();

return result;

}

}

}

大家可以看到,在WCF中的接口与普通接口的区别只在于两个上下文,其他的和我们正常学习的接口一样。定义这个上下文要添加System.ServiceModel的引用。

[ServiceContract],来说明接口是一个WCF的接口,如果不加的话,将不能被外部调用。

[OperationContract],来说明该方法是一个WCF接口的方法,不加的话同上。

此时我们的第一个WCF服务程序就建立好了,将User.svc“设为起始页”,然后F5运行一下试试,如下图所示,VS自动调用了WCF的客户端测试工具以便我们测试程序,然后双击PlusNumber()方法名,就会出现下图:

0c21fe76173e

在请求窗口中的值中输入参数“a”与“b”,然后点击“调用”,在响应窗口中会出现返回值“WCF服务计算结果:a+b的值”,说明测试成功,点击下面的XML也可以看到XML的数据传输。我们现在建立好了服务的应用程序和业务逻辑。

三、将WCF部署到IIS

到IIS右击网站,然后添加网站,将下图的参数填上。

0c21fe76173e

然后再右击WcfService1文件将它设为应用程序:

0c21fe76173e

然后就可以浏览此服务:

0c21fe76173e

点击User.svc,跳转到以下调用页面:

0c21fe76173e

点击 http://localhost:8001/WcfService1/User.svc?wsdl,从这里可以看到我写的方法,这个地址也是我们后用将要引用的地址:

0c21fe76173e

现在我们的WCF服务就算是已经部署完成了。

四、调用WCF

这边我是打算创建一个web服务程序来调用,所以我新建一个空白MVC web项目,

0c21fe76173e

创建后目录:

0c21fe76173e

然后添加服务引用,将添加好参数,可以修改引用命名空间名称,

0c21fe76173e

完成添加后,这里我是选择创建一个Test控制器以及对应视图来达到调用那个WCF的服务,要记得using刚添加的WCF引用,这样才能使用。

控制器代码如下:

using WebForTest.ServiceReference1;

public class TestController : Controller

{

// GET: Test

public ActionResult Index()

{

ViewBag.result = "暂无计算";

return View();

}

// POST: Test

[HttpPost]

public ActionResult Index(int a,int b)

{

UserClient user = new UserClient();

string result = user.PlusNumber(a, b);

ViewBag.result = result;

return View();

}

}

视图代码如下:

@{

ViewBag.Title = "Index";

}

Index

@ViewBag.result

@using (Html.BeginForm("Index", "Test", FormMethod.Post))

{

+

}

运行效果如下:

0c21fe76173e

0c21fe76173e

0c21fe76173e

通过以上例子我们就已经完成了对WCF的一个简单新建,部署及调用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_763728.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

当你无法登录http://www.jetbrains.com/系列的网站

如果对您有用,希望能得到您的三连支持哦!!! 首先排除你的网络是否有问题(基本上都不是这个的问题) 接着就是看你的hosts的文件,因为我们都是因为使用破解包的时候修改了hosts文件,所以我来告诉你怎么解决…

给网站套上Cloudflare(以腾讯云为例)

Cloudflare 用来干什么 Cloudflare 主要能做以下几件事: CDNDDNS 说人话的话,上面这些有啥作用呢: 提升安全(抵御攻击、隐藏主站地址)提升性能(提升载入速度) 当然,Cloudflare 还…

主机备案租用价_云服务器与虚拟主机搭建网站有何不同?选择哪家好?哪家最优惠?...

云服务器与虚拟主机都可以搭建网站,很多小伙伴都傻傻的分不清。今天就详细说一下二者具体区别以及搭建网站难以程度,“工欲善其事必先利其器”要想知道二者不同处我们首先得知道云服务器与虚拟主机分别是什么!一、云服务器概念与其搭建网站的…

帝国网站导航config.php,帝国cms怎么改英文导航

帝国cms怎么改英文导航?本文实例讲述了帝国cms实现newsnav标签改英文导航的方法。分享给大家供大家参考。具体实现方法如下:帝国CMS把"首页"改为"Home" 做英文网站的时候会用到,最简单的方法是修改帝国CMS语言包,当然也有其他方法.修…

还未做好的一个企业网站首页界面,暂时放这了

转载于:https://www.cnblogs.com/juhnpen/archive/2008/07/28/1254225.html

如何才能做到网站高并发访问?

http://oldboy.blog.51cto.com/2561410/615721 MSN/QQ 分享本资源给:MSN QQ好友 论坛 分享本资源给:论坛好友(UBB代码) 开心 人人 豆瓣 新浪微博 博主的更多文章>> 如何才能做到网站高并发访问? 2011-07-18 15:57:03标签:高可用 高并…

Maximum.TV 发布西班牙语Silverlight TV网站

Maximum.TV 发布西班牙语Silverlight TV网站Maximum.TV(观看需要美国代理)发布了一个采用Silverlight技术开发的视频网站。 这是一个了不起的采用IIS平滑流媒体的案例。他们制作的视频墙用鼠标来确定那一个视频的声音应该播放。下边这张图上展示了同时播…

网站安装打包 新建网站[四][创建网站] 中

在IIS6.0的帮助文档中,对于创建IIS,提供了三种程序管理方法,一种是WMI,另一种是ADSI,还有一种是命令行方法。 这里,采用网上代码比较多的ADSI编程方式进行。 用C#进行ADSI编程,需要引用添加名称空间&#x…

前端开发:静态网站与动态网站的区别是什么?

很多刚入门的前端开发工程师不是很清楚静态网站与动态网站的区别,下面和千锋广州小编一起来看看吧! 静态网站只需要通过浏览器进行解析即可,因此网站建设好后可以离线打开查看,动态网站需要通过一个额外的编译解析过程&#xff0…

网站可用性测试全过程

一、何谓“可用性测试” “可用性测试”也可称之为“用户体验测试”,是通过产品功能设计测试任务,让用户按照任务完成一些真实测试,检验产品的可用性,作为产品后续改进和完善的重要参考依据。 二、为什么要进行可用性测试 1. 存在…

一个通过网站和用户名生成密码的小工具,附源码。

最近,某些网站的用户名密码遭到泄漏,对于我们用户来说,更好的管理我们的密码变得愈加重要。 登录多个网站使用同样的用户名,密码有着潜在的隐患,对不同的网站使用不同的用户名,密码又难于记忆,容…

前端工程师收藏的网站有哪些?这14个不可错过

看到有人问前端开发应该知道哪些网站,那我就来总结一下。 我先说一些程序员很通用的网站,再推荐一写前端程序员可以订阅的优质前端内容网站,如果对你有用,就点个赞呗,下面和千锋广州小编一起来看看吧! Go…

上位机软件用什么写的_为什么这么多Java开发者会觉得用Java写网站很难?

用Java写个网站?这对于不少初学者来说,感觉难于上青天,许多的工作要做,许多知识没掌握......感觉所有东西都无从下手,是不是?但是小编告诉你,其实写一个网站并不难,为什么这么说呢&a…

使用python下载网站漫画

最近想回顾一下七龙珠,结果发现腾讯已经收费,而且是按节收费,无奈看看其他网站,找到了一个网站,可以在线看,但是无法下载,最后决定使用python下载下来 首先要分析网站源码,查看源代…

如何使用代理服务器访问授权的网站_如何减少HTTP请求并加快网站访问速度?...

每当有人访问您网站上的页面时,浏览器都必须请求大量文件。这些HTTP请求直接影响网页的加载速度。通常,更少的HTTP请求意味着网站加载速度更快。 现在,网站的加载速度是搜索引擎排名的重要因素。平均而言,媒体页面加载速度为谷歌的…

seo查询工具源码_SEO工具哪个好?

SEO工具涵盖了很多种,其中主要包括站长工具、外链工具、伪原创采集工具等,不同类型的工具针对性和功能性都非常强,而且对于网站优化能够起到有效的促进作用,同时也能够使站长节省更多的时间和精力,做好网站细节优化。图…

Python+Bottle+Sina SAE快速构建网站

Bottle是新生一代Python框架的代表,利用Bottle构建网站将十分简单。 Sina SAE是国内较出名的云平台之一,十分适用于个人网站的开发或创业公司网站开发。 下面将介绍如果通过PythonBottleSina SAE快速搭建一个网站。 1.注册Sina SAE账号后,创建…

php手机论坛,网站开发-php开发手机论坛(10)-帖子列表显示

帖子列表的显示是一个基本的功能,用于首页分类的显示,以及用户收藏以及发布的帖子的查看.整合在一个文件里面.接受参数:col:收藏的帖子c:分类显示帖子post:发表的帖子rep:回复的评论templates/listview.php返回<?php echo $from ?>发帖//Chromephp::log($article);if (…

移动APP vs. 移动网站,哪一个更好?

在虚拟世界&#xff0c;关于移动应用和移动网站的有效性差异的争论是一个非常有趣的话题。无论是移动应用程序还是移动网站都有自己的优点和缺点。有一些人认为&#xff0c;一个用户友好的和有效的移动app可以解决所有的问题&#xff0c;并帮助你更好地为你的客户服务。另一方面…

Java系的大网站架构-LinkedIn和淘宝

国内私募机构九鼎控股打造APP&#xff0c;来就送 20元现金领取地址&#xff1a;http://jdb.jiudingcapital.com/phone.html 内部邀请码&#xff1a;C8E245J &#xff08;不写邀请码&#xff0c;没有现金送&#xff09;国内私募机构九鼎控股打造&#xff0c;九鼎投资是在全国股份…