Azure開發者任務之六:使用WCF Service Web Role

在本文中,咱們將會在local development fabric上建立一個WCF服務角色,而後在一個控制檯應用程序中使用它。瀏覽器

WCF服務角色可讓咱們建立一個WCF服務,而且把它託管在Windows Azure中。在本文中,咱們將會建立一個WCF服務角色,把它託管在local development fabric上,而後在一個控制檯應用程序中使用它。在下一篇文章中,咱們將會把這個WCF服務遷移到Azure門戶中。測試

首先spa

1,建立一個新項目code

2,導航到「Cloud」標籤orm

3,建立Windows Azure項目資源

4,在給出的選項中選擇WCF服務角色rpc

若是你看一下解決方案資源管理器,你會發現這個WCF服務角色項目的結構和文件與正常建立的WCF服務應用程序徹底相同。它包含:get

1,IService1.cs(服務契約)string

2,Service1.svc.cs(服務定義)it

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

相關文章
相關標籤/搜索