[英]Creating and consuming a web service to call a method with Visual Studio 2015 and c#
我是Web服务开发的新手。 我正在尝试为应用程序创建一个后端(顺便说一句,它是Windows 10通用应用程序)。 我想做的事情很简单:我希望我的应用程序要求服务执行某项操作,然后该服务运行一些代码并返回某些内容。 换句话说,我想从我的应用程序调用服务中定义的方法。
我已经找到了大量关于此的指南,但是它们全都可以追溯到2000年代初期,并且使用的技术现在已经过时了。
到目前为止,我设法做到了
我使用WCF服务模板(Visual C#、. Net框架4)创建了一个新网站(文件->新建->新网站),并向其中添加了一个Web服务ASMX(右键单击project-> Add-> Add。 New Item-> Web Service(ASMX)),然后向与该Webservice关联的.cs文件中添加了一些webmethod。
[WebMethod]
public void MyVoidFunction() { //Do something }
然后,在我的应用程序中,我向Web服务添加了一个服务引用(右键单击引用->添加服务引用->插入本地主机地址,直至.asmx->单击执行->分配名称空间->单击确定)。 现在,我可以使用Web服务在应用程序中执行以下操作:
ServiceReference1.WebServiceSoapClient obj = new ServiceReference1.WebServiceSoapClient();
await obj.MyVoidFunctionAsync();
请注意,当我在应用程序中添加引用时, ServiceReference1
是我分配给Web ServiceReference1
的名称空间。
这实际上运行MyVoidFunction()
。 但是,我不能直接调用obj.MyVoidFunction()
方法,也不能调用非void函数并获取它们的返回值。
问题
await
和自动生成的FunctionNameAsync()
方法? 您发现的文档太旧了,因为Web服务实现的确很旧,并且没有任何新闻。 如果要制作Windows 10应用程序,则应坚持使用新技术,并且应使用JSON API。 尝试查找有关如何使用WebApi创建API的文档,Azure提供了针对该产品的产品( http://azure.microsoft.com/zh-cn/services/api-management/ )。 在Windows 10应用中,使用HttpClient与NewtonSoft.Json一起使用此API来序列化和反序列化对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.