asp.net 4.5 练习~test16-1 web service的初步使用

这个练习,可视化设计步骤较多,所以我需要详细些,不然看不懂。

新建asp.net 空应用程序,然后“添加新项”,选择“web 服务”,名称是WebService1.asmx。

我看的教程中说会有什么App_Code文件夹,估计vs2012优化了,现在没有了,直接是WebService1.asmx,及其下带的WebService1.asmx.cs。

WebService1.asmx

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

namespace test16_1
{
    /// <summary>
    /// WebService1 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 
    // [System.Web.Script.Services.ScriptService]
    public class WebService1 : System.Web.Services.WebService
    {

        [WebMethod]
        public string HelloWorld()
        {
            return "Hello World";
        }
    }
}

此时,可以ctrl + f5,运行项目,查看到网页中列出Helloworld这个方法。

WebService1


支持下列操作。有关正式定义,请查看服务说明。

HelloWorld
此 Web 服务使用 http://tempuri.org/ 作为默认命名空间。
建议: 公开 XML Web services 之前,请更改默认命名空间。
每个 XML Web services 都需要一个唯一的命名空间,以便客户端应用程序能够将它与 Web 上的其他服务区分开。http://tempuri.org/ 可用于处于开发阶段的 XML Web services,而已发布的 XML Web services 应使用更为永久的命名空间。

应使用您控制的命名空间来标识 XML Web services。例如,可以使用公司的 Internet 域名作为命名空间的一部分。尽管有许多 XML Web services 命名空间看似 URL,但它们不必指向 Web 上的实际资源。(XML Web services 命名空间为 URI。)

使用 ASP.NET 创建 XML Web services 时,可以使用 WebService 特性的 Namespace 属性更改默认命名空间。WebService 特性适用于包含 XML Web services 方法的类。下面的代码实例将命名空间设置为“http://microsoft.com/webservices/”:

然后项目中,“添加服务引用”,点击坐下角的“高级”,

弹出“服务引用设置”,点击最下角的“添加web引用”,

弹出“添加web引用”,点击“此解决方案中的web服务”,“webservice1”,

右侧“web引用名”,可以修改,也可以默认“localhost”,

点击“添加引用”后,会发现项目文件中增加了“Porperties”、“service references”、“web references”等文件夹,

然后项目中,添加“web窗体”,

webform1.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="test16_1.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
        <asp:Button ID="Button1" runat="server" Text="调用" OnClick="Button1_Click" />
    </div>
    </form>
</body>
</html>

webform1.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace test16_1
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            localhost.WebService1 service1 = new localhost.WebService1();
            Label1.Text = service1.HelloWorld();
        }
    }
}

猜你喜欢

转载自blog.csdn.net/modern358/article/details/114881882