我创建了一个简单的有状态Actor和一个Web API(自托管)并将其部署到Azure。它已经工作,我可以浏览Service Fabric Explorer中的节点。
Azure给了我一个网址,但是当我在末尾添加/ api /值(在本地工作正常)时,它会下载一个名为values的文件,我无法打开它,因为它是一个二进制文件。
我想从Xamarin应用程序调用web api(即正常的Rest api调用)但如果我无法通过浏览器调用它,我有点卡住了。
答案 0 :(得分:4)
我会在Stephen's answer上发表评论,但我缺乏足够的声誉。 要将自定义端口添加到负载均衡器之后 已创建服务结构群集,您可以(在较新的Azure门户中):
请注意,如果您要启用多个端口,则每个端口都需要自己的规则。
我知道以上工作在我的“你好世界”中。沙箱项目。
我自己攀登服务架构学习曲线,因此无法对其他设置进行评论。
答案 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.net或asp.net-web-api对此进行标记,以获得更全面的答案。
答案 3 :(得分:0)
围绕Azure Service Fabric Stateless Web API
的教程和技术资源往往略有脱节,因为平台和资源仍然很不成熟。
This Stateless Web API tutorial非常有效。
作为教程的先决条件:
Visual Studio
更新为最新版本(扩展程序和更新)Service Fabric SDK
更新为最新版本(Web Platform Installer)EndPoint Port
参数ServiceManifest.xml
属性(在Node Type
中定义)
醇>
遵循这些步骤将成功允许部署到本地和远程群集,并将公开您的Web API端点以供使用。