首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Net :如何通过端口分离控制器?

Net :如何通过端口分离控制器?
EN

Stack Overflow用户
提问于 2018-09-26 11:32:04
回答 1查看 1.4K关注 0票数 5

我需要通过netcore2.0自托管web服务中的端口来分离控制器。

示例:

有两个端口(p1和p2)和3个控制器(c1、c2、c3)。需求方案: c1处理来自p1的请求,而c2和c3将处理来自p2的请求。

我该怎么做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-28 06:05:23

在GitHub https://github.com/aspnet/Mvc/issues/8502上得到答案

代码语言:javascript
复制
[PortActionConstraint(5000)]
public class HomeController : Controller
{
   ...
}

[AttributeUsage(AttributeTargets.Class)]
public class PortActionConstraint : ActionMethodSelectorAttribute
{
    public PortActionConstraint(int port)
    {
        Port = port;
    }

    public int Port { get; }

    public override bool IsValidForRequest(RouteContext routeContext, ActionDescriptor action)
    {
        //external port
        var externalPort = routeContext.HttpContext.Request.Host.Port;
        //local port 
        var localPort = routeContext.HttpContext.Connection.LocalPort;
        //write here your custom logic. for example  
        return Port == localPort ;
    }
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52516744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档