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

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

时间:2024-07-18 10:55:45浏览次数:12  
标签:Web ASP 服务 VS2019 button 点击 WCF NET

目录

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--

标签:Web,ASP,服务,VS2019,button,点击,WCF,NET
From: https://blog.csdn.net/qq_41539778/article/details/140455564

相关文章

  • 攻防世界WEB(新手模式)3-unserialize3
    进题目,可以发现这是一个反序列化的题目。这段代码定义了一个名为xctf的类,其中包含一个公共属性$flag,初始值为'111',并且定义了一个__wakeup()魔术方法。魔术方法__wakeup()__wakeup()方法在对象反序列化时被调用。这段代码中,当该类对象被反序列化时,将立即调用exit('badreq......
  • test_web3
    web3题目更简单的web题分析代码出现include,猜测是文件包含漏洞。通过data://数据流+php命令执行函数查询当前工作目录下的内容,使用hackbar需要先进行url编码:得到flag文件名和首页文件:?url=data://text/plain,%3C%3Fphp%0Asystem('catctf_go_go_go')%3B%......
  • test_web4
    web4题目分析和上一题显示的页面一样,用同样的方法尝试注入:出现报错:看来这题相比上一题增加了过滤。使用shell_exec同理:换个思路,尝试使用一句话木马连接服务器后台。根据发回的响应包可以确定这题使用的是nginx服务器:看看访问日志先,?url=/var/log/nginx/acc......
  • test_web4_2
    根据发回的响应包可以确定这题使用的是nginx服务器:看看访问日志先,?url=/var/log/nginx/access.log:尝试使用日志包含写入一句话木马,往User-Agent字段传入一句话木马<?php@eval($_POST['web4']);?>传入后的日志增加一条记录:使用中国蚁剑连接日志文件,在/var/www/f......
  • test_web4_1
    web4题目分析和上一题显示的页面一样,用同样的方法尝试注入:出现报错:看来这题相比上一题增加了过滤。使用shell_exec同理:换个思路,尝试使用一句话木马连接服务器后台。......
  • 全面Burp Suite教程:深入掌握Web应用安全测试的利器
    目录Burpsuite简介1.1什么是BurpSuite?1.2BurpSuite的主要功能和组件Burpsuite安装与设置2.1下载和安装BurpSuite2.2Burpsuite设置字体2.3Burpsuite中文乱码问题Scanner模块(扫描与漏洞检测)3.1使用Scanner模块进行自动扫描3.1.1新建扫描3.1.2设置扫描范围3.1......
  • Angular:构建现代Web应用的强大框架
    ......
  • Ubuntu+Docker+Ollama+WebUI
    Ubuntu备份源文件sudocp/etc/apt/sources.list/etc/apt/sources.list.backup编辑/etc/apt/sources.list#默认注释了源码镜像以提高aptupdate速度,如有需要可自行取消注释debhttps://mirrors.tuna.tsinghua.edu.cn/ubuntu/focalmainrestricteduniversemultivers......
  • [安洵杯 2019]easy_web
    很扎心先查看了源码没东西又看了请求也没东西看见上面的img=感觉是文件包含先摸清编码方式编码方式是先hex再两次base64https://tool.lu/hexstr/base64用bp就行然后就是包含一下index.php试一下之后查看源码base64解密一下得到源码点击查看代码<?phperror_r......
  • iOS开发基础125-深入探索SDWebImage
    SDWebImage是一个流行的用于处理图像下载和缓存的库,广泛用于iOS开发中,提供了一系列方便的API来下载和缓存图像,以提高应用的性能和用户体验。以下是对其进行详细介绍和分析,包括其原理和底层实现。一、SDWebImage的主要功能图像下载和缓存:图像下载:使用异步方式从网络上下......