【Web服务与Web应用开发】【C#】VS2019 创建ASP.NET Web应用程序,以使用WCF服务

目录

0.简介

1.环境

2.知识点

3.详细过程

1)创建空项目

2)添加Web表单

3)使用Web表单的GUI设计

4)添加服务引用

5)在Web的button函数中调用服务,获取PI值

6)测试


0.简介

  • 本文属于一个系列中的第二篇文章,这个系列会实现一个项目,这个项目主要使用Visual Studio 2019作为开发工具,创建WCF服务、创建Web应用程序调用WCF服务等功能
  • 本文主要介绍如何通过 Visual Studio 2019 来创建一个ASP.NET Web应用程序,来使用上一章实现的WCF服务,这个服务实现的功能是返回数学中Pi的值。

WCF创建博客地址

1.环境

Visual Studio 2019 + c# + windows11

2.知识点

  • ASP.NET Web应用程序是一种基于Microsoft .NET Framework构建的动态Web应用程序的开发框架。它提供了丰富的工具和功能,使开发人员能够轻松地创建具有高性能、可扩展性和安全性的Web应用程序。
  • ASP.NET是Active Server Pages .NET的缩写,是一种用于构建动态Web应用程序的开发框架,属于.NET Framework的一部分。

3.详细过程

1)创建空项目

打开VS2019,添加新项目,搜索【web application】,找到【ASP.NET Web应用程序】,有两种,一个是VB语言,一个是C#语言,我选择的是C#

选择后,点击右下角的【下一步】

修改自定义的项目名称,点击右下角的【创建】

新窗口,模板选择【空】即可

新建的目录是这样的

2)添加Web表单

右键项目名字,选择【添加】-【新建项】

在【Web】中,选择【Web窗体】或【Web Form】,可以修改自定义名称,通常叫【Default】,点击添加

添加后目录如下

Default是一个页面,语言是xhtml,是html的变体

我们有两种形式编辑这个页面:用界面控件拖动的方式(类似GUI),以及纯代码书写,如下图所示,点击【设计】,是界面,可以拖动控件;点击【源】,则是纯代码。

如果使用【设计】模式,可以在右侧边栏的【工具箱】中找到很多控件,如button、label等,拖动即可

3)使用Web表单的GUI设计

我们做一个最简单的界面,来显示WCF服务获取的PI值。我用了一个button和一个label

如果你想修改按钮的属性,注意,属性不是显示的TEXT,修改属性可以在【源】中修改button相关代码的【ID】字段

如果你想修改按钮的显示的文字,可以修改【Text】字段

双击【button】会自动跳转到【Default.aspx.cs】文件,新增一个点击button后触发的接口,我们在这个接口中实现点击button需要做的事情:获取WCF服务的PI值

4)添加服务引用

准备工作:复制WCF的服务链接

首先我们要打开WCF项目,注意上一篇博客实现的WCF项目,我的WCF项目名字为【WcfService1】,然后找到【Service1.svc】,右键.svc,选择【在浏览器中查看】,这个时候会打开浏览器出现一个服务界面,复制这个链接。

每个人的链接都不一样,请复制你的WCF服务链接

复制完链接后,我们的准备工作已经做完了,回到我们的Web项目,右键项目名称,选择【添加】-【服务引用】

请将复制的链接粘贴在【地址】中,然后点击【转到】,会出现Service1的列表

然后在服务窗口中,点一下IService1,也就是上图中的第3步,右侧空白处就会出现你这个服务所实现的具体服务名称

这里我们只是用PiValue就好,其余几个都是写的例子,你可以在下方的【命名空间】修改自己的服务名字,一会我们在代码里调用时需要用到这个名字,我就用默认的【ServiceReference1】,然后点击【确定】

5)在Web的button函数中调用服务,获取PI值

我们找到Web服务项目中的【】,找到双击button产生的点击函数,输入代码,将服务注册到按钮事件中

protected void Button1_Click(object sender, EventArgs e)
{
    ServiceReference1.Service1Client prxy = new ServiceReference1.Service1Client();
    Label1.Text = Convert.ToString(prxy.PiValue());
}

6)测试

在Web项目,右键【Default.aspx】选择【设为起始页】,这样执行的时候就会从这个函数开始执行

在VS2019上边栏中,选择【调试】-【开始调试】

会打开一个网页

点击按钮,label处就会显示PI值了

至此,WCF + ASP.NET Web的项目就结束啦,主要功能是实现在页面获取WCF服务产生的PI值,如有过程有问题,欢迎批评指正

--END--

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

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

相关文章

如何直接套用模板,快速搭建一个3D展示页面?

随着Web3D技术的飞速进步,网页设计实现了从平面二维到立体三维的华丽蜕变,这一变革为品牌营销领域注入了前所未有的互动活力。多样化的3D营销手段,不仅极大地吸引了消费者的目光,还显著提升了品牌形象与销售量,助力企业…

各类专业技术的pdf电子书

从业多年,收集了海量的pdf电子书籍,感兴趣的私聊。

探索智慧校园德育系统的学生考核之道

在当代教育领域,智慧校园德育管理系统的学生考核功能正逐渐成为推动学生全面发展的重要引擎。它不仅革新了传统德育评价的方式,还深度融入了学生日常的学习生活,成为连接学生、教师与学校管理层之间沟通与理解的桥梁。德育考核功能的核心在于…

Excel办公技巧:制作二级联动下拉菜单

分享制作二级联动下拉菜单的方法,即使数据有增删,菜单也能自动更新! 可以通过先定义名称,再结合数据验证,来做二级联动下拉菜单。 1. 准备数据 首先,我们需要准备好要进行二级联动下拉菜单的数据&#xff…

【大模型入门】LLM-AI大模型介绍

大语言模型 (LLM) 背景 🍹大语言模型 (Large Language Model) 是一种人工智能模型, 它们通常包含数千亿甚至更多的参数,并在大规模数据集上进行训练。大语言模型可以处理多种自然语言任务,如文本分类、问答、翻译、对话等等。 自然语言模型…

识别 TON 生态系统中前10种加密资产,以bitget 钱包为例

元描述:想要找到下一个 100 倍加密货币投资?请密切关注这篇文章;它揭示了所有可能很快变得非常有价值的 TON 网络宝石。 由 Telegram 提供支持的 TON(开放网络)生态系统正在蓬勃发展!这是一个充满激动人心的…

【雅思备考IELTS】美文阅读 艾米莉·勃朗特《呼啸山庄》Wuthering Heights by Emily Bronte

Reading Materials for IELTS (from books that I love) Episode 2 2024/7/15 By James Lee 说明: 奇崛、跌宕、爱恨分明,英国女作家艾米莉 勃朗特(Emily Bronte,1818-1848)短暂一生当中出版的唯一一本小说&#xff…

typescript新规范及vue3常用的属性解析【2024】

文章目录 如在vue中 使用tyescript来规范定义类型解释一下 < >的意思 定义 了 personList &#xff1a;是个数组 Array 且要告诉里面每一项 结构长什么样 Array<PersonInter>definepropsvue3中的hooks组件父子组件 方法、数据、相互调用 如在vue中 使用tyescript来…

C语言课程回顾:十、C语言之 指针

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 C语言之 指针 10 指针10.1 地址指针的基本概念10.2 变量的指针和指向变量的指针变量10.2.1 定义一个指针变量10.2.2 指针变量的引用10.2.3 指针变量作为函数参数10.2.4 指针变…

嵌入式热门领域有哪些?

嵌入式热门领域有哪些? 当前&#xff0c;嵌入式行业正处于快速发展阶段&#xff0c;并在多个领域呈现出蓬勃的热度。 物联网 物联网作为目前嵌入式行业的炙手可热领域之一&#xff0c;已经在各行业展现出了强劲的增长势头。嵌入式系统通过物联网连接各种物理设备和传感器&…

如何用Claude 3 Sonnet Artifacts实现对数据文件的可视化分析?

如何用Claude 3 Sonnet Artifacts实现对数据文件的可视化分析&#xff1f; Prompt模板&#xff1a; Initial Request: 初始请求&#xff1a; I have uploaded data of the number of Software Engineering Jobs in the US since May 2020. I need different visual creative…

AD复制原理图时候怎么保留原理图的元器件编号

AD复制原理图时候&#xff0c;默认复制过去所有编号全部丢失变成“&#xff1f;”&#xff0c;怎么保留原理图的元器件编号&#xff1f; 1.右上角打开设置&#xff1b; 2. Schematic---》Graphical Editing---》去勾选“选项&#xff1a;粘贴时重置元件位号Reset Parts Design…

卷积加速算法img2col、Winograd、FFT

FFT 空间域中矩阵的卷积算子&#xff0c;实际等于频率域中两个矩阵元素相乘。但卷积的方向是相反的。 通常情况下&#xff0c;feature的尺寸要比卷积的尺寸大很多&#xff0c;如果对两者进行快速傅里叶变换的话&#xff0c;得出来的两个矩阵大小不一样&#xff0c;不能进行对…

【JS红宝书学习笔记】第25章 客户端存储

第25章 客户端存储 Cookie HTTP是无状态的&#xff0c;也就是说&#xff0c;你这次访问服务器&#xff0c;关闭后再次访问服务器&#xff0c;服务器是意识不到又是你来访问的。 登录时&#xff0c;浏览器需要帮我们在每一次请求里加入用户名和密码&#xff0c;这样才能做到保…

盲盒一番赏小程序:开启惊喜之旅,探索无限创意!

在这个充满无限想象与惊喜的时代&#xff0c;盲盒已成为连接心灵与梦想的奇妙桥梁。为了将这份独特的乐趣与探索精神传递给每一位热爱生活、追求新鲜的你&#xff0c;我们自豪地推出了“盲盒一番赏”小程序——一个集创意、趣味、互动与社交于一体的盲盒新纪元&#xff0c;邀您…

三大知名向量化模型比较分析——m3e,bge,bce

先聊聊出处。 M3E 是 Moka Massive Mixed Embedding 的缩写&#xff0c; Moka&#xff0c;此模型由 MokaAI 训练&#xff0c;开源和评测&#xff0c;训练脚本使用 uniem &#xff0c;评测 BenchMark 使用 MTEB-zhMassive&#xff0c;此模型通过千万级 (2200w) 的中文句对数据…

【C++】——类和对象(中)

文章目录 类的默认成员函数构造函数析构函数拷贝构造函数赋值运算符重载运算符重载 const成员函数 类的默认成员函数 在C中&#xff0c;类&#xff08;class&#xff09;可以拥有多种成员函数&#xff0c;其中一些成员函数在类定义中没有显式声明时&#xff0c;编译器会隐式地…

微软最新AI:GraphRAG+Chainlit实现跨文档智能检索分析打造私人AI助手

文章目录 前言一、GraphRAG安装二、Chainlit安装学习资料 前言 本月初&#xff0c;微软发布最强 RAG 知识库开源方案 GraphRAG&#xff0c;项目上线即爆火&#xff0c;现在星标量已经达到 10.9 k。 https://github.com/microsoft/graphrag 一、GraphRAG安装 1.创建一个新项目…

电脑使用干货 · 阻止更换主题时改变鼠标指针样式

大家在使用主题的时候会发现&#xff0c;可能更改主题时会自动变换鼠标指针。 本教程将向您展示如何在Windows 10和Windows 11中允许或阻止主题更改您的鼠标指针。 防止主题更改鼠标指针 下载 防止主题更改鼠标指针.reg 运行 > 确定&#xff0c;即可 REG文件内容供参考 …

Bean的作用域配置

ApplicationContext在初始化的时候&#xff0c; 就实例化所有单列的Bean什么意思呢&#xff1f; ApplicationContext context new ClassPathXmlApplicationContext("applicationContext.xml"); 这种实例化模式是可以修改的&#xff0c;也就是可以改变Spring框架在底…