Azure开发者任务之八:使用WCF Service Web Role

原创
云计算
在本文中,我们将会在local development fabric上创建一个WCF服务角色,然后在一个控制台应用程序中使用它。

在本文中,我们将会在local development fabric上创建一个WCF服务角色,然后在一个控制台应用程序中使用它。

WCF服务角色可以让我们创建一个WCF服务,并且把它托管在Windows Azure中。在本文中,我们将会创建一个WCF服务角色,把它托管在local development fabric上,然后在一个控制台应用程序中使用它。在下一篇文章中,我们将会把这个WCF服务迁移到Azure门户中。

首先

1,创建一个新项目

2,导航到“Cloud”标签

3,创建Windows Azure项目

4,在给出的选项中选择WCF服务角色

 

 

如果你看一下解决方案资源管理器,你会发现这个WCF服务角色项目的结构和文件与正常创建的WCF服务应用程序完全相同。它包含:

1,IService1.cs(服务契约)

2,Service1.svc.cs(服务定义)

3,Web.config(EndPoint的配置)

我们可以按照我们的需求来修改这些文件,这和我们平时在一个WCF服务应用程序中做的事情没有什么两样。

让我们来修改服务契约:

IService1.svc

using System.ServiceModel;
 
namespace WCFServiceWebRole1

{   

    [ServiceContract]

    public interface IService1

    {
 
        [OperationContract]

        string GetData(int value);
     
    } 

}

然后,修改服务定义:

Service1.svc.cs

namespace WCFServiceWebRole1

{

    public class Service1 : IService1

    {

        public string GetData(int value)

        {

            return string.Format("You entered: {0}", value);

        }
 
    }

}

在Web.Config中保留默认的配置。

确保你已经把Windows Azure项目设置成启动项目了,然后运行这个应用程序。在浏览器中,你会得到如下错误信息:

 

 

忽略这个错误信息,然后把一个URL添加到“Service1.svc”中,这个URL应该是http://127.0.0.1:81/Service1.svc。“Service1.svc”是服务定义的名字。添加以后,你会在浏览器中得到通常的WCF服务消息

 

 

要在一个控制台客户端中测试这个WCF服务角色,需要:

1,创建一个控制台应用程序项目

2,使用指定的URL(http://127.0.0.1:81/Service1.svc)来添加服务引用

 

 

现在,我们编写一个正常的服务调用:

Program.cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using ConsoleApplication14.ServiceReference1;

namespace ConsoleApplication14

{

    class Program

    {

        static void Main(string[] args)

        {

            Service1Client proxy = new Service1Client();

            var result = proxy.GetData(99);

            Console.WriteLine(result);

            Console.ReadKey(true);

        }

    }

}

现在,当你运行这个应用程序的时候,你也许会得到下面这个异常:

 

 

要解决上面这个异常,我们必须要编辑“App.Config”文件。我们需要修改这个配置文件:

 

 

“127.0.0.1”代表“localhost”。也许这个控制台应用程序不能解析“127.0.0.1”,所以,我们把它改成“localhost”:

 

 

现在,运行这个应用程序,我们会得到如下输出:

 

 

这里,我们需要注意的一个行为是,有时,在把“127.0.0.1”改成“localhost”以后,你可能还是会得到那个超时异常。在我以后的文章中,我会深入研究一下这个意料之外的行为。

原文名:Windows Azure for Developers Task 8: Working with WCF Service Web Role 作者: Dhananjay Kumar

【本文乃51CTO精选译文,转载请标明出处!】

【编辑推荐】 

  1. 微软公布云计算平台Azure收费模式细节
  2. 云计算意在长远,微软云计算服务Windows Azure已经启用
  3. 技术透析:Windows Azure Platform框架与组成
  4. 微软Windows Azure Platform技术解析
  5. 走近微软云:SQL Server到Azure数据同步
  6. 当微软Azure遭遇亚马逊EC2:五大关键区别
  7. Windows Azure云计算平台新增五大功能
  8. 云计算前途光明 Azure用户数突破31000
  9. 如何把应用程序部署到Windows Azure中

 

 

责任编辑:王勇 来源: 来源:51CTO
相关推荐

2011-03-24 13:02:35

WCF服务角色Azure

2011-03-24 09:24:48

AzureSilverlight

2011-03-24 13:09:56

Azure开发者Silverlight存储账户

2011-03-16 21:05:59

Azure开发者Cloud Servi

2011-03-21 15:22:04

Azure应用程序

2011-03-21 14:31:36

Azure应用程序

2011-03-21 15:39:36

Windows Azu虚拟机的规模

2011-03-21 15:31:11

Azure SDK 1

2011-03-23 16:44:22

AzureASP.NET应用程序

2011-03-16 15:58:27

Windows AzuAzure Stora

2014-08-08 10:12:44

IRC

2009-11-06 10:11:34

WCF和Web Ser

2009-12-08 17:16:37

WCF Web Ser

2011-06-30 09:54:57

Java.NETAzure

2022-01-17 19:34:43

SentryWeb APISentry API

2010-12-21 10:00:23

Web开发

2009-09-09 08:45:53

2016-12-01 14:51:03

2012-03-12 21:51:56

2011-03-01 13:10:06

WebjQueryHTML 5
点赞
收藏

51CTO技术栈公众号