相关疑难解决方法(0)

如何让kestrel Web服务器监听非localhost请求?

我已经将我的c#,asp.net 5,mvc 6应用程序部署到了Windows 2008服务器上.我已经启动dnx web它正在侦听端口5000并且从本地计算机访问时工作正常.

如何让它听取非本地主机请求?

PS这个问题并不重复......当hosting.ini实际上有.ini格式时,它指的是asp.net pre RC1.现在,它是JSON,我找不到任何实际应该包含在其中的文档.

PPS真正的解决方案是对链接问题的未接受答案,并提出了一个重要的警告.脚步:

  1. 根据链接的答案更改project.json.
  2. 将项目发布到服务器.
  3. 在服务器上,转到...\approot\src\YourProject文件夹并在那里打开命令窗口.
  4. dnx web- 它会失败
  5. dnu restore
  6. 运行'dnu build`
  7. 运行'dnx web` - Web服务器现在应该可以正常启动了

c# asp.net dnx kestrel-http-server asp.net-core

71
推荐指数
6
解决办法
6万
查看次数

为什么以及如何修复?IIS Express"指定的端口正在使用"

我们知道在Visual Studio中为Web应用程序分配了一个随机端口号.它在我的办公桌面上工作正常.但是,当我将代码拉到我的笔记本电脑(来自VisualStudio.com)并运行Web应用程序时.我收到一条消息,说,

指定的端口正在使用中

端口10360已被另一个应用程序使用.

建议

  1. 尝试切换到10360以外的端口,高于1024.
  2. 停止使用端口10360的应用程序.

我可以Recommendation #1通过将端口更改为其他类似13333 来修复它.但我很好奇端口10360发生了什么.如何检查使用端口10360的应用程序?我该如何停止该申请?

iis-express visual-studio-2013

66
推荐指数
14
解决办法
7万
查看次数

如何更改Asp.Net核心应用程序的端口号?

我在下面添加了以下部分project.json.

  "commands": {
    "run": "run server.urls=http://localhost:8082",
    "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.Kestrel --server.urls http://localhost:8082",
    "weblistener": "Microsoft.AspNet.Hosting --server WebListener --server.urls http://localhost:8082"
  },
Run Code Online (Sandbox Code Playgroud)

但是,它仍然显示"正在侦听:http:// localhost:5000 "运行时使用dotnet myapp.dll

顺便说一下,来自其他机器的客户能否访问该服务?

.net-core asp.net-core

27
推荐指数
13
解决办法
5万
查看次数

确定端口Kestrel绑定到

我正在使用ASP.NET Core空(web)模板编写一个简单的ASP.NET Core服务。

默认情况下,它绑定到端口5000,但我希望它绑定到系统上的随机可用端口。

我可以通过修改BuildWebHost为:

    public static IWebHost BuildWebHost(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>()
            .UseUrls("http://*:0") // This enables binding to random port
            .Build();
Run Code Online (Sandbox Code Playgroud)

它绑定到随机端口,但是如何从应用程序中确定我正在侦听哪个端口?

kestrel-http-server asp.net-core asp.net-core-2.0

6
推荐指数
2
解决办法
1524
查看次数

.Net Core Web Api 这个随机端口分配来自哪里?

我正在使用 docker-compose 托管使用 .Net Core 模板创建的 .Net Core Web 应用程序。

我的 docker-compose 如下:

version: '3.4'

services:
  db:
    image: mysql:5.7
    container_name: mysql_db
    volumes: 
       - db_data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: "root"
      MYSQL_HOST: "localhost"
      MYSQL_ROOT_HOST: "%"

  todoservice:
    image: ${DOCKER_REGISTRY}todoservice
    ports: 
      - "8000:80"
    build:
      context: .
      dockerfile: ToDoService/Dockerfile
    depends_on:
      - db

volumes:
  db_data: 
Run Code Online (Sandbox Code Playgroud)

其中我声明我的主机端口 8000 将映射到此 docker 容器上的端口 80。我还有这个 dockerfile 定义了如何构建我的 .Net Core Web Api。

FROM microsoft/aspnetcore:2.0 AS base
WORKDIR /app
EXPOSE 80

FROM microsoft/aspnetcore-build:2.0 AS build
WORKDIR /src
COPY ToDoService/ToDoService.csproj ToDoService/
RUN dotnet restore ToDoService/ToDoService.csproj …
Run Code Online (Sandbox Code Playgroud)

c# docker

5
推荐指数
1
解决办法
1917
查看次数

无法在launchSettings.JSON中为Net.Core应用程序设置端口

我编辑了launchSettings.JSON文件并更改了端口.

"Gdb.Blopp": {
  "commandName": "Project",
  "launchBrowser": false,
  "launchUrl": "http://localhost:4000",
  "environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Development"
  }
Run Code Online (Sandbox Code Playgroud)

不过,它仍然从5000端口开始.那个设置是否被忽视了,还是我错过了别的什么?

json asp.net-core

4
推荐指数
1
解决办法
6744
查看次数

ASP.NET 5 Kestrel在LAN内连接

我想连接到我的Kestrel服务器,其中托管的ASP.NET 5应用程序来自同一网络中的另一台PC.可能吗?我可以从cmd ping我的电脑,但当我尝试从网络浏览器连接时,我得到'连接超时'(我输入:"http:// {my_kestrel_ip}:5000 /").

c# asp.net-mvc kestrel-http-server

3
推荐指数
2
解决办法
3417
查看次数

如何在默认端口之外的不同端口上公开 Web API?.NET 6

所有在端口 8888 上公开 .NET 6 Web API 的尝试都会失败。

我通过在 appsettings.json 中添加 url 并在 Program.cs 中配置端口,在线尝试了这些答案和各种其他文章,但没有成功。

更新: Web API 在默认端口上启动,而不是在我想要公开它的端口上启动。在 Program.cs 中配置端口时,我收到

System.InvalidOperationException:“不支持更改 URL,因为地址为只读。”

app.Run("http://localhost:8888"); // This code results in Exception above
Run Code Online (Sandbox Code Playgroud)

或者

System.NotSupportedException:“集合具有固定大小。”

app.Urls.Add("http://localhost:8888"); // The Exception above occurs after running this line of code
Run Code Online (Sandbox Code Playgroud)

运行下面的代码不会更改端口,并且 API 在默认端口上启动

builder.WebHost.ConfigureKestrel(options => options.ListenLocalhost(8888));
Run Code Online (Sandbox Code Playgroud)

.net c# api asp.net-web-api

1
推荐指数
1
解决办法
8840
查看次数