Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 我可以让应用程序在多个端口中侦听吗?(一个供公众使用,一个供私人使用)_Asp.net_Asp.net Mvc_Windows_Iis_Port - Fatal编程技术网

Asp.net 我可以让应用程序在多个端口中侦听吗?(一个供公众使用,一个供私人使用)

Asp.net 我可以让应用程序在多个端口中侦听吗?(一个供公众使用,一个供私人使用),asp.net,asp.net-mvc,windows,iis,port,Asp.net,Asp.net Mvc,Windows,Iis,Port,我有一个.NETMVC应用程序,它有多种功能 我是否可以通过如下所示配置不同的端口,将此应用程序作为单个应用程序托管在IIS中 可能吗 实时场景:我在AzureIaaS虚拟机中托管应用程序。我的内部应用程序将使用API,客户应使用公共网站在我看来,最容易的事情是您可以防止Azure VM无法打开23004端口。详情,你可以参考这个 如果您不想使用Azure MV,可以考虑在Web API中使用自定义筛选器属性来检查请求是否是本地的。如果请求不是从本地发送的,那么您可以直接返回404Not

我有一个
.NETMVC
应用程序,它有多种功能

我是否可以通过如下所示配置不同的端口,将此应用程序作为单个应用程序托管在
IIS

  • 可能吗


    实时场景:我在
    Azure
    IaaS虚拟机中托管应用程序。我的内部应用程序将使用
    API
    ,客户应使用公共
    网站

    在我看来,最容易的事情是您可以防止Azure VM无法打开23004端口。详情,你可以参考这个

    如果您不想使用Azure MV,可以考虑在Web API中使用自定义筛选器属性来检查请求是否是本地的。如果请求不是从本地发送的,那么您可以直接返回404NotFound错误

    有关如何使用自定义筛选器属性的更多详细信息,您可以参考以下内容


    你是说网站和API在同一个应用程序中,你只需要23004端口就可以访问web API吗?是的,网站和API在同一个应用程序中。我想让端口23004(或任何其他端口)访问web API。我想为内部azure服务打开端口23004。所以我不能在NSG级别阻止。[类似Azure功能的内部服务]
    Website to view product              localhost:80/index.cs               
    
    API exposed for internal usage       localhost:23004/Listporducts();     
    
    public class CustomActionAttribute : FilterAttribute, IActionFilter { 
        public void OnActionExecuting(ActionExecutingContext filterContext) { 
            if (filterContext.HttpContext.Request.IsLocal) { 
                filterContext.Result = new HttpNotFoundResult(); 
            } 
        }
    
        public void OnActionExecuted(ActionExecutedContext filterContext) { 
            // not yet implemented 
        } 
    }