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.部署完成后,我们就可以访问我们的服务了