如何在本地服务结构集群中部署和访问来宾可执行文件(ASP.NET OWIN 自托管 webapi 应用程序)
Posted
技术标签:
【中文标题】如何在本地服务结构集群中部署和访问来宾可执行文件(ASP.NET OWIN 自托管 webapi 应用程序)【英文标题】:How to deploy and access a guest executable(ASP.NET OWIN self hosted webapi application) in local service fabric cluster 【发布时间】:2018-02-27 14:21:01 【问题描述】:我创建了一个 ASP.NET Owin 自托管 webapi 应用程序。下面是自己的主机代码sn-p
using Microsoft.Owin.Hosting;
namespace OwinSelfHostSample
class Program
public static void Main(string[] args)
string localhost = "http://localhost:80";
// Start OWIN host
using (WebApp.Start<LocalStartup>(localhost))
Console.ReadLine();
我可以运行 Owin exe 并访问我的服务端点,例如 http://localhost:80/keepalive 等
当我尝试按照here 处的说明将其作为来宾可执行文件部署到本地服务结构集群时,发布成功,但我无法访问端点。我总是得到 503 服务不可用的 http 响应。事件查看器中也没有相关错误。
【问题讨论】:
【参考方案1】:我的猜测是您的端点在服务结构中没有正确配置。
通过调试本地集群确保你的服务真的启动了 检查您的端点配置 - 您是否在应用程序清单中发布了端口? https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-service-manifest-resources 查看此文档。它只提到来宾可执行文件中的 API,但仍然可以帮助您 https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-reliable-services-communication-aspnetcore【讨论】:
我将代码从 "string localhost = "localhost:80";" 更改为 "string localhost = "http://+:80";" 现在它工作正常。不知道为什么行为。 这可能是由于 Service Fabric 针对多个节点的设计方式,我在答案中链接的文档中提到了这个强大的通配符 谢谢亚历克斯。这些链接有助于对问题进行分类。 @PradeepAgarwal 很高兴为您提供帮助,如果此答案解决了您的问题,请单击答案旁边的复选标记将其标记为已接受。见:How does accepting an answer work?了解更多信息以上是关于如何在本地服务结构集群中部署和访问来宾可执行文件(ASP.NET OWIN 自托管 webapi 应用程序)的主要内容,如果未能解决你的问题,请参考以下文章
管理来宾可执行文件依赖项 - 本地 Service Fabric
服务结构托管 Asp.net WebApi 容器应用程序:403 - 禁止:访问被拒绝。在本地集群上