Azure开发者任务之八:使用WCF Service Web Role
创始人
2024-07-24 01:21:50
0

在本文中,我们将会在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中

 

 

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...