C的WebService完全教程(之三)

C的WebService完全教程(之三)创建项目文件> 新建 > 项目Visual C# > Web > ASP.NET空Web应用程序刚创建时,“解决方案资源管理器”中的目录:右键点项目名称,在弹出菜单中选择“添加 > 新建项”,在弹出的窗口中选择

大家好,欢迎来到IT知识分享网。

上一讲说过,WebService是一个程序,现在就说怎么写这个程序的问题。

用的语言是C#,用的工具是VisualStudio。

创建项目

文件 > 新建 > 项目

Visual C# > Web > ASP.NET空Web应用程序

C的WebService完全教程(之三)

刚创建时,“解决方案资源管理器”中的目录:

C的WebService完全教程(之三)

右键点项目名称(在这里是“WebApplication1”),在弹出菜单中选择“添加 > 新建项”,在弹出的窗口中选择“Visual C# > Web > Web服务”:

C的WebService完全教程(之三)

这将创建后缀为“.asmx”的文件,出现在目录中:

C的WebService完全教程(之三)

简单的编辑

在下面这个简单范例中,WebService1.asmx调用一个叫“HelloWorld”的C#方法,该方法将在调试或发布时被封装在dll文件中。

在WebService1.asmx中,Visual Studio先替我们写了代码模版,如下:

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services;  namespace WebApplication1 //这是项目的命名空间名称,只需要在本机有唯一性 {     ///这是Web服务的命名空间名称,要求在整个互联网上有唯一性     [WebService(Namespace = "http://tempuri.org/")] //发布前,必须改成不会与别人重复的命名空间名称,通常用网站域名,因为这是肯定不会重复的,注意,后面必须有斜杠     [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]     [System.ComponentModel.ToolboxItem(false)]     public class WebService1 : System.Web.Services.WebService     {         [WebMethod]         public string HelloWorld() //这里将要改成自己的方法         {             return "Hello World";         }          //也可以用类似上面那一段的格式,添加方法         //即使方法有返回值,标头仍然是[WebMethod]     } }

把它改成这样:

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services;  namespace WebApplication1 {     [WebService(Namespace = "http://www.myweb.com/")] //在这里,修改了Web服务命名空间名称     [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]     [System.ComponentModel.ToolboxItem(false)]     public class WebService1 : System.Web.Services.WebService     {         [WebMethod]         public string addStr() //在这里,修改了函数名和函数内容         {             return x + y;         }     } }

还要修改Web.config,加上远程访问的代码(下面从<webServices>到</webServices>的部分),不然以后传到服务器上,别人无法通过互联网访问这个WebService。

<?xml version="1.0"?> <!--   有关如何配置 ASP.NET 应用程序的详细信息,请访问   http://go.microsoft.com/fwlink/?LinkId=  --> <configuration>   <system.web>     <compilation debug="true"/>     <httpRuntime/>      <webServices>       <protocols>         <add name="HttpSoap"/>         <add name="HttpPost"/>         <add name="HttpGet"/>         <add name="Documentation"/>       </protocols>     </webServices>     </system.web> </configuration>

调试

与通常的Visual Studio调试一样,按F5键即可。

然后出现的是网页浏览器,如果出现“HTTP错误403.14……服务器被配置为不列出此目录的内容”,那多半是因为源码中“[WebService(Namespace = “http://tempuri.org/”)]”中的“http://tempuri.org/”并不是互联网上唯一的,将它改成唯一的(哪怕是不存在的)域名即可,但注意,一定要以“/”结尾。

在正常情况下,此网页浏览器会打开我们刚才设的首页WebService1.asmx,并以一个链接显示此页中的方法“addStr”:

C的WebService完全教程(之三)

单击“addStr”会打开这个页面:

C的WebService完全教程(之三)

在这里输入x、y的值后点“调用”,会打开显示结果的页面:

C的WebService完全教程(之三)

回到Visual Studio中,“调试 > 停止调试”。

好了,程序写完了。下一讲说说怎么向服务器上传的问题。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/87050.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信