Service Fabric托管Web API

时间:2016-02-17 15:09:09

标签: asp.net-web-api azure-service-fabric

我创建了一个简单的有状态Actor和一个Web API(自托管)并将其部署到Azure。它已经工作,我可以浏览Service Fabric Explorer中的节点。

Azure给了我一个网址,但是当我在末尾添加/ api /值(在本地工作正常)时,它会下载一个名为values的文件,我无法打开它,因为它是一个二进制文件。

我想从Xamarin应用程序调用web api(即正常的Rest api调用)但如果我无法通过浏览器调用它,我有点卡住了。

4 个答案:

答案 0 :(得分:4)

我会在Stephen's answer上发表评论,但我缺乏足够的声誉。 要将自定义端口添加到负载均衡器之后 已创建服务结构群集,您可以(在较新的Azure门户中):

  • 导航到服务结构群集的负载均衡器资源。
  • "设置"找到"负载均衡规则"选项。
    • 如果您在群集设置期间设置了自定义规则,则至少会有两条规则。
  • 添加新规则。
    • 给它起个名字
    • '端口'是你想要击中的外部端口。
    • ' BackendPort'是您的服务配置为侦听的端口。
    • 其他设置的默认设置适用于此。

请注意,如果您要启用多个端口,则每个端口都需要自己的规则。

我知道以上工作在我的“你好世界”中。沙箱项目。

我自己攀登服务架构学习曲线,因此无法对其他设置进行评论。

答案 1 :(得分:1)

发现了遗漏的东西。

https://azure.microsoft.com/en-us/documentation/articles/service-fabric-cluster-creation-via-portal/

此链接介绍如何在Azure上创建Service Fabric应用程序,特别是“应用程序输入端点”字段需要具有您要使用的端口。对于样品,它们大多是端口80或8081.

之后应该有一种方法可以添加这些端口我尝试过(微软支持工程师也是这样)并且它似乎没有用。您应该能够将这些端口添加到与Service Fabric App关联的Load Balancer。

我重新创建了我的Service Fabric应用程序,就像我之前做的那样,但这次填写了我想在Node Type部分中使用的端口,现在我可以点击我已部署的webapi服务。这个字段可以留空,这是我第一次做的,这也是我遇到问题的原因。

答案 2 :(得分:0)

与Service Fabric并不真正相关,它只是在Web API中设置HTTP响应头的方式。建议使用asp.netasp.net-web-api对此进行标记,以获得更全面的答案。

答案 3 :(得分:0)

围绕Azure Service Fabric Stateless Web API的教程和技术资源往往略有脱节,因为平台和资源仍然很不成熟。

在撰写本文时,

This Stateless Web API tutorial非常有效。

作为教程的先决条件:

  1. Visual Studio更新为最新版本(扩展程序和更新)
  2. Service Fabric SDK更新为最新版本(Web Platform Installer
  3. setting up your Azure Service Fabric Cluster EndPoint Port参数
  4. 时明确指定ServiceManifest.xml属性(在Node Type中定义)

    遵循这些步骤将成功允许部署到本地和远程群集,并将公开您的Web API端点以供使用。