• 化零为整WCF(1) 不能免俗,我也从Hello开始


    [索引页]
    [源码下载]


    化零为整WCF(1) - 不能免俗,我也从Hello开始


    作者:webabcd


    介绍
    WCF(Windows Communication Foundation) - 废话不多说,俗也不能免,我也从Hello开始


    示例
    1、服务
    IHello.cs
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    using System.ServiceModel;

    namespace WCF.ServiceLib.Sample
    {
        
    /// <summary>
        
    /// IHello接口
        
    /// </summary>

        [ServiceContract]
        
    public interface IHello
        
    {
            
    /// <summary>
            
    /// 打招呼方法
            
    /// </summary>
            
    /// <param name="name">人名</param>
            
    /// <returns></returns>

            [OperationContract]
            
    string SayHello(string name);
        }

    }

    Hello.cs
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    using System.ServiceModel;

    namespace WCF.ServiceLib.Sample
    {
        
    /// <summary>
        
    /// Hello类
        
    /// </summary>

        public class Hello : IHello
        
    {
            
    /// <summary>
            
    /// 打招呼方法
            
    /// </summary>
            
    /// <param name="name">人名</param>
            
    /// <returns></returns>

            public string SayHello(string name)
            
    {
                
    return "Hello: " + name;
            }

        }

    }


    2、宿主
    Hello.svc
    <%@ ServiceHost Language="C#" Debug="true" Service="WCF.ServiceLib.Sample.Hello" %>

    Web.config
    <?xml version="1.0"?>
    <configuration>
      
    <system.serviceModel>
        
    <behaviors>
          
    <serviceBehaviors>
            
    <behavior name="SampleBehavior">
              
    <!--httpGetEnabled - 使用get方式提供服务-->
              
    <serviceMetadata httpGetEnabled="true" />
            
    </behavior>
          
    </serviceBehaviors>
        
    </behaviors>
        
    <services>
          
    <!--name - 提供服务的类名-->
          
    <!--behaviorConfiguration - 指定相关的行为配置-->
          
    <service name="WCF.ServiceLib.Sample.Hello" behaviorConfiguration="SampleBehavior">
            
    <!--address - 服务地址-->
            
    <!--binding - 通信方式-->
            
    <!--contract - 服务契约-->
            
    <endpoint address="" binding="basicHttpBinding" contract="WCF.ServiceLib.Sample.IHello" />
          
    </service>
        
    </services>
      
    </system.serviceModel>
    </configuration>


    3、客户端
    Hello.aspx
    <%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Hello.aspx.cs"
        Inherits
    ="Sample_Hello" Title="不能免俗,我也从Hello开始" 
    %>

    <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
        
    <asp:TextBox ID="txtName" runat="server" Text="webabcd" />
        
    &nbsp;
        
    <asp:Button ID="btnSayHello" runat="server" Text="Hello" OnClick="btnSayHello_Click" />
    </asp:Content>

    Hello.aspx.cs
    using System;
    using System.Collections;
    using System.Configuration;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;

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

        }


        
    protected void btnSayHello_Click(object sender, EventArgs e)
        
    {
            Sample.HelloClient proxy 
    = new Sample.HelloClient();

            Page.ClientScript.RegisterStartupScript(
                
    this.GetType(),
                
    "js",
                
    string.Format("alert('{0}')", proxy.SayHello(txtName.Text)),
                
    true);

            proxy.Close();
        }

    }


    Web.config
    <?xml version="1.0"?>
    <configuration>
      
    <system.serviceModel>
        
    <client>
          
    <!--address - 服务地址-->
          
    <!--binding - 通信方式-->
          
    <!--contract - 服务契约-->
          
    <endpoint address="http://localhost:3502/ServiceHost/Sample/Hello.svc" binding="basicHttpBinding" contract="Sample.IHello" />
        
    </client>
      
    </system.serviceModel>
    </configuration>


    运行结果:
    单击"btnSayHello"后弹出提示框,显示"Hello: webabcd"


    OK
    [源码下载]
  • 相关阅读:
    [C]static变量详解
    [LINUX]重定向
    [PHP]一些坑
    [PHP]常量的一些特性
    [数学]三角函数(一)
    [PHP]session的一些要点
    [C]控制外部变量访问权限的extern和static关键字
    c语言基础----共用体
    c语言基础----字符串数组
    c语言基础----函数库
  • 原文地址:https://www.cnblogs.com/webabcd/p/983453.html
Copyright © 2020-2023  润新知