将WCF Rest应用发布到Windows Azure上

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


这是一个REST API 在Azure应用的简单通讯录例子。 运行环境 VS2015 并安装 Azure App Service Tools V2.9软件包。已经有Azure账号。 使用方法: 第一步: 建立 API 服务器端 打开 ContactsList.API, 鼠标右键 设置为 Set as StartUp Project 取消 SwaggerConfig.cs 中第170行-173行备注 编译,执行 后,url后添加: /swagger/docs/v1 and /swagger 发布Azure, 按New, 修改下面名称 API App Name: ContactsListAPI (需要修改,这个名称是azurewebsites.net中唯一的) Resource Group: ContactsGroup App Service Plan: [New] 自动生成URL, 例如:http://contactslistapi.azurewebsites.net 第二步(.net MVC, REST API 客户端) 打开 ContactsList.MVC 鼠标右键,Add REST API Client 选择刚添加的 API name, (将原有的REST API Client 重复目录及文件删除) 在ContactsController.cs 修改ContactsListAPI to 新设置的 修改原有 private ContactsListAPI db = new ContactsListAPI(new Uri("http://localhost:51864")); 为API 的url, 例如:http://contactslistapi.azurewebsites.net 发布Azure,按New 修改下面名称 Web App Name: ContactsListMVC (需要修改,这个名称是azurewebsites.net中唯一的) Resource Group: ContactsGroup (同上) App Service Plan: ContactsListAPIPlan (同上) 自动生成URL, 例如: http://contactslistmvc.azurewebsites.net 第三步 Angular 版 修改index.html 中78行 $scope.baseUrl = 'http://localhost:51864'; 为ContactsList.API 中的url, 例如:http://contactslistapi.azurewebsites.net 发布Azure,按New .... 在Azure portal 选择刚上传第一个API, 选择API 下的CORS, 输入Angular版的url 例如:http://contactslistangular.azurewebsites.net 详细使用可参考:https://azure.microsoft.com/en-us/documentation/articles/app-service-api-dotnet-get-started/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值