WCF学习之一见倾心

【人参果】


技术点:

1、第一个Demo

2、代码走向

3、如何发布服务、调用服务


【山巅远眺】


学习思路:

1、哪里来?

    软件设计思想:面向过程——面向对象——面向服务

2、SOA:面向服务架构   

       特性:
        1、每个服务有名确边界
        2、服务是独立的
        3、采用标准的契约定义和通信定义
        4、服务是自解释的

3、Webservice工作原理?

    客户端——调用请求——SOAP消息——服务器
    服务器——返回结果——SOAP消息——客户端

【披荆斩棘】


具体操作:

1、接口代码

using System.ServiceModel;

namespace HelloServiceDemo
{
    [ServiceContract]
    public  interface IHello
    {
        [OperationContract]
        string sayHello(string name);
    }
}

2、programs

using System.ServiceModel;

namespace MyHost
{
    class Program
    {
        static void Main(string[] args)
        {
            ServiceHost host = new ServiceHost(typeof(MyHost.Hello));
            host.Open();
            Console.WriteLine("服务已经已启动。。。");
            Console.Read();
            
        }
}
}

3、类库代码

using System.ServiceModel;
using HelloServiceDemo;
namespace MyHost
{
    class Hello : IHello
    {
        public string sayHello(string name)
        {
            return name + "说:您好!";
        }
    }
}

4、app.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.serviceModel>
    <services>
      <service name="MyHost.Hello">
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost/Hello"/>
          </baseAddresses>
        </host>
        <endpoint address="" binding="basicHttpBinding" contract="HelloServiceDemo.IHello">
          
        </endpoint>
      </service>
    </services>
  </system.serviceModel>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
    </startup>
</configuration>


【仙人指路】


太上老君:云学网——tiger

原始天尊:Mark导师项目文档

通天教主:浩哥博客点击打开链接


【筋斗云】

  




          虽然成功发布了一个小例子但是路还很远,要不断学习、实践。一物不知深以为耻。

                                                                                                                                        ——妖兔敬上



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
好的,下面是一个简单的 C# WCF 服务的例子: 首先,在 Visual Studio 中创建一个新的 WCF 服务应用程序项目。然后,在服务契约中定义一个简单的操作: ```C# [ServiceContract] public interface IMyService { [OperationContract] string GetMessage(string name); } ``` 这个操作接受一个字符串类型的参数,返回一个字符串类型的消息。 接下来,在服务实现中实现这个操作: ```C# public class MyService : IMyService { public string GetMessage(string name) { return "Hello, " + name + "!"; } } ``` 这个实现接受一个字符串类型的参数,返回一个拼接了该参数的消息。 然后,在配置文件中定义一个终结点: ```XML <system.serviceModel> <services> <service name="MyService"> <endpoint address="http://localhost:8080/MyService" binding="basicHttpBinding" contract="IMyService"/> </service> </services> </system.serviceModel> ``` 这个终结点定义了服务的地址、绑定和契约等信息。 最后,在 host 中启动服务: ```C# ServiceHost host = new ServiceHost(typeof(MyService)); host.Open(); ``` 这个 host 启动了 MyService 类型的服务。 现在,WCF 服务已经启动并且可以接收客户端的请求。在客户端中,你可以使用类似下面的代码来调用服务: ```C# ChannelFactory<IMyService> factory = new ChannelFactory<IMyService>( new BasicHttpBinding(), new EndpointAddress("http://localhost:8080/MyService")); IMyService proxy = factory.CreateChannel(); string message = proxy.GetMessage("World"); Console.WriteLine(message); ``` 这个客户端创建了一个 IMyService 类型的代理对象,并调用了它的 GetMessage 方法,将 "World" 作为参数传递,并将返回的消息打印到控制台上。 这就是一个简单的 C# WCF 服务的例子,它展示了如何定义服务契约、实现服务操作、配置服务终结点和启动服务 host。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值