1.在VS中创建Windows Azure Cloud Service应用(如果没有这个选项,说明你还没有下载Azure SDK,可以根据提示下载对应的Azure SDK)
2.指定对应的服务,我们这里选择WCF Service Web Role
3.创建项目成功之后,我们应该看到如下两个工程(一个是WCF工程,一个是Azure工程,我们只需要更改WCF工程)
4.打开IService1.cs,更改内容如下(这里使用了Rest)
[ServiceContract]
public interface IService1
{
[OperationContract]
[WebInvoke(Method = "GET",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json,
UriTemplate = "GetData"
)]
string GetData();
}
5.打开Service1.svc,将内容更改如下
public class Service1 : IService1
{
public string GetData()
{
return "Hello World!!!";
}
}
6.因为使用了Rest,所以我们要更改一下Web.config文件,以使Rest生效
<system.serviceModel>
<services>
<service name="WCFServiceWebRole1.Service1" behaviorConfiguration="serviceBehavior">
<endpoint address="" binding="webHttpBinding" contract="WCFServiceWebRole1.IService1" behaviorConfiguration="web"></endpoint>
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="web">
<webHttp helpEnabled="true"/>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="serviceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
<behavior>
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
7.下面我们可以在本地测试一下,看项目是否有问题,右击Service1.svc文件,选择View in Browser,如果如下图所示,证明我们项目没问题(注意url地址格式)
8.右击WindoesAzure1工程(Azure工程),选择Package...选项,打包完成后会在WindowsAzure1\bin\Release\app.publish目录下产生两个文件,我们稍后会用到
9.登录到Azure上,转到云服务选项,然后点击下方的新建按钮,创建一个云服务
10.点击我们新创建的云服务,点击上传新的生成部署
11.在弹出的对话框中,程序包和配置就是我们刚才产生的两个文件,选择它们,注意要选择“一个或多个角色包含单个实例也进行部署”选项,
12.等待程序部署完成,可能需要一段时间
13.部署完成后,我们就可以访问我们的服务了