.net中关于Windows窗体程序和Web网站程序调用自己的服务
在.NET Framework 4.0创建服务是中没有像3.5那样的选择新建-网站-ASP.NET Web服务模块,但在4.0中可以选择 新建-网站-ASP.NET空网站-选中项目右键添加新项-
选择Web服务,接着找到Web服务,创建服务即可
所有的名称都没更改,如果WebService.asmx的名称改了,如改成MyService.asmx,这代理类的名称也会自动更改,代理类名称就会改为MyServiceSoap
在其他程序项目引用该服务是会创建代理类,代替服务类,建立代理类对象就等于建立服务类,并可以调用其中方法
创建好后后可看到如下代码:
上图中的public class WebService{...}就是服务类,其中默认包含一个方法HelloWorld
服务创建好后就跟发布网站一样将其发布在IIS中,接着,再次打开VS2010开发工具,新建网站或Windows窗体应用程序,在界面上放入一个按钮和一个Lable,点击按钮时调用HelloWorld方法,将“Hello World”显示在Lable中,这里以Windows应用程序为例:
创建:(还没添加服务引用前的解决方案资源管理器样子)
添加自己创建的服务:右键
选择添加服务引用后出现如图所示:
地址栏里输入你的服务地址,打开你先前创建的服务项目,右键在浏览器中查看:
如图:(鼠标选中的为你的服务地址)
复制好后粘贴到添加服务引用的地址栏中,点击前往,会出现如下图所示:
命名空间可以改名也可以不改,这里我改为aa,代理类则会在命名空间aa中,点击确定后,资源管理器变成如下图所示:
可以双击app.config查看你的代理类的类名,方便我们建立代理类对象,调用服务HelloWorld方法
双击app.config,找到代理类名,如图:
一般的,我们在创建代理类实例时,aa.WebServiceSoap后面会存在Client这个单词,如果创建服务时将WebService.asmx改成MyService的话,这里name就为“MyServiceSoap”,(前面我没有更改,用的是默认的WebService.asmx)
接下来我们需要点击按钮然后在Lable 中显示“Hello World”,就是在按钮的单击事件中创建服务实例,调用HelloWorld()方法
创建服务实例时,如图所示:
选择aa.WebServiceSoapClient创建代理类对象
写好单击事件后代码如图所示,之后运行,ok
.net中关于Windows窗体程序和Web网站程序调用自己的服务的更多相关文章
- 如何:对 Windows 窗体控件进行线程安全调用
http://msdn.microsoft.com/zh-cn/library/ms171728(VS.90).aspx http://msdn.microsoft.com/zh-cn/library ...
- Web应用程序与Web网站及部署在IIS中
在Visual Studio可以创建 Web 应用程序项目或网站项目.通过选择 新建项目 或 打开项目 创建或打开一个 Web 应用程序项目在Visual Studio 文件 菜单. 通过选择 新建网 ...
- 张小龙的野心:用小程序重构web|小程序好处及可能的不足
一:张小龙的野心:用小程序重构web 一 很多年以前,张小龙写了一款软件:Foxmail. 这款软件当年有数百万用户,这是一个相当庞大的量,因为彼时网民也只有千万当量级的规模. 我是一个非常忠实的用户 ...
- 2017-03-05 CentOS中结合Nginx部署dotnet core Web应用程序
Visual Studio Live 倒计时2天,当然这是美国倒计时两天,中国应该是在3月8日的凌晨,正值"3.8妇女节".提前祝广大的女性同志节日快乐,当然还有奋斗在一线的程序媛 ...
- 在.NET中把项目从类库转为Web应用程序
我们知道,在.NET中所有的项目文件以.csproj为扩展名.内容是xml格式. 类库项目文件.csproj: <Project DefaultTargets="Build" ...
- 从C#中通过Windows窗体添加信息到数据库 (添加学生信息)
如上图所示界面,当我们点击保存按钮时将会将表格中的数据保存到数据库中去,与数据库进行一个交互 第一步我们就是要获取到表格中的数据 string pwd = textpwd.Text; //获得第一次输 ...
- 如何 对 Windows 窗体控件进行线程安全调用
//主线程 public delegate void UpdateMessage(string mes); public void UpdatePortMessage(string mes) { th ...
- web层直接调用 dubbo的服务,合适吗?
目前很多互联网app项目,都是采用这样的一个基本项目结构:即由后端提供Restful的api接口,然后供前端例如IOS.Android或者H5端去调用,如图: 在这种结构下,后台的代码分层常规一般会有 ...
- 【转】Tomcat中部署java web应用程序
http://www.blogjava.net/jiafang83/archive/2009/06/02/279644.html 转载:今天给大家介绍怎样在Tomcat5.5.9中部署Java Web ...
随机推荐
- 51 Nod 1027 大数乘法【Java大数乱搞】
1027 大数乘法 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 给出2个大整数A,B,计算A*B的结果. Input 第1行:大数A 第2行:大数B (A,B的长度 ...
- [bzoj3191] [JLOI2013]卡牌游戏
概率DP. 首先由题解可得>_<,胜出概率只与剩余人数.与庄家的相对位置有关. 所以设f[i][j]表示剩下i个人,从庄家开始第j个人的胜利概率... 根据卡牌一通乱搞即可... #inc ...
- Linux /bin, /sbin, /usr/bin, /usr/sbin 区别
在linux下我们经常用到的四个应用程序的目录是:/bin./sbin./usr/bin./usr/sbin bin: bin为binary的简写主要放置一些系统的必备执行档例如:cat.cp ...
- C语言单向链表
1,为什么要用到链表 数组作为存放同类数据的集合,给我们在程序设计时带来很多的方便,增加了灵活性.但数组也同样存在一些弊病.如数组的大小在定义时要事先规定,不能在程序中进行调整,这样一来,在程序设计中 ...
- C语言中结构体赋值问题的讨论(转载)
今天帮师姐调一个程序的BUG,师姐的程序中有个结构体直接赋值的语句,在我印象中结构体好像是不能直接赋值的,正如数组不能直接赋值那样,我怀疑这个地方有问题,但最后证明并不是这个问题.那么就总结一下C语言 ...
- Java技术分享:如何编写servlet程序
身为计算机专业的我,从接触java至今,已经有七年之久,从最开始的小白到现在的大白,这是一个漫长而曲折的历程. 大学刚接触Java这个学科时,一点儿都不理解java是要干嘛的,只知道学起来肯定不容易, ...
- 微信小程序多列选择器之range-key
<picker mode="multiSelector" bindchange="bindMultiPickerChange2" bindcolumnch ...
- js object 常用方法总结
Object.assign(target,source1,source2,...) 该方法主要用于对象的合并,将源对象source的所有可枚举属性合并到目标对象target上,此方法只拷贝源对象的自身 ...
- dedecms系统后台登陆提示用户名密码不存在
dedecms最近被曝有非常多的安全漏洞,最近有些用户反应后台管理员账号密码没有修改但无法正常登陆,提示用户名不存在,经研究发现是程序漏洞管理员被直接篡改,解决方案如下. 工具/原料 dedecms ...
- Xshell学习--菜鸟篇
http://www.cnblogs.com/perseverancevictory/p/4910145.html 1)关于Xshell 网上更多的资料里提到的SSH客户端是putty,因为简单.开源 ...