问题标签 [kestrel-http-server]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
225 浏览

asp.net - vNext:表单方法 POST 不适用于 Debian/Kestrel

我试图建立简单的 ASP.NET vNext 应用程序。

我有简单的客户端 html 代码:

我有简单的服务器端代码来处理 POST 操作:

使用 Windows/IIS Express 可以正常工作,使用 Debian/Kestrel 无法正常工作,未调用服务器方法登录。

所以,我的问题是 - 如何让它与 Debian 一起工作?

0 投票
1 回答
1023 浏览

asp.net - 如何在 Linux / Mac 中部署 ASP.NET 5 / .NET Core?

随着最近发布的ASP .NET 5 功能,很明显 MS 现在更多地针对跨平台 .NET 应用程序开发(也增加了与 Mono 的联系)。

我想知道在 Linux/MAC 中部署 ASP .NET 5 代码的最佳实践——考虑到我将使用非 IIS 服务器这一事实。我应该使用MOD_MONO还是Kestrel

此设置是否已准备好用于生产?我知道现在决定还为时过早,但有人有任何实践经验吗?

0 投票
1 回答
3062 浏览

visual-studio-code - 使用 VSCode、DNX 和 kestrel 运行第一个 ASP.NET 5 应用程序会导致 IOException

按照Visual Studio Code 文档中描述的步骤,在 Mac OS X 上通过 VSCode 的命令面板运行最终命令会在访问http://localhost:5001dnx . kestrel时导致 IOException :

有关完整的堆栈跟踪,请参阅随附的屏幕截图。有什么问题?在此处输入图像描述

0 投票
1 回答
3837 浏览

asp.net-mvc - AspNet vNext 上的 Kestrel 不提供 / 下的索引页面

我需要能够使用 Kestrel Web 服务器在默认 url /下提供我的“index.html”。现在我只能使用完整路径访问我的静态文件,即/index.html

这再次在 VisualStudio 上完美运行,上下文是带有 Kestrel 的 OSX

这是我的Startup.cs

到目前为止,我的解决方案是在 HomeController 中进行重定向。但这很丑陋,我正在尝试提供一个静态 html 文件,老实说,我不希望它由我的应用程序处理,如果可能的话,直接从 Kestrel 提供。

0 投票
1 回答
230 浏览

macos - ASP.NET vnext 覆盖控制器中设置的状态代码。这是一个错误吗?

我正在 Mac 上的 asp.net vnext 中构建一个简单的 WebApi。我已按照本教程中设置的示例进行操作,但我遇到了一个问题,即我在控制器方法中设置的响应代码被覆盖

在我的 CrudController 中采用这个方法:

当我卷曲这个或用 PostMan 击中它时,我应该看到一个 201 Created 响应和一个 Location 标头将我指向另一个 url。当我使用 kestrel 运行它时,我得到 Location 标头,但响应代码是 204 No Content。

我假设这是 vnext 中间件覆盖我对状态代码的更改。那正确吗?如果是这样,它应该覆盖我的状态代码还是一个错误?如果这是正确的行为,我应该如何进行重定向?

0 投票
1 回答
478 浏览

asp.net - 尝试在 Ubuntu 上运行新创建的 ASP.NET vNext 项目但出现错误

我想尝试新的 ASP.NET 5(也称为 vNext?),所以我下载了 ubuntu-14.04.2-server-amd64.iso,安装在 VMware Player 中并运行。

安装后,我运行以下命令:

  • sudo apt-get 更新
  • sudo apt-get 升级
  • sudo apt-get install nodejs-legacy npm
  • sudo npm install -g gulp
  • sudo npm install -g bower

参考https://github.com/aspnet/home,我按照步骤:

  1. 获得单声道
  2. 获取 libuv
  3. 获取 DNVM
  4. 将源添加到 NuGet.config

然后我创建一个 ASP.NET 项目,在“ASP.NET 5 Preview Template”(Visual Studio Community 2015 RC)中选择“Web site”。我将整个项目文件夹上传到在 VMware Player 中运行的 ubuntu 服务器。

只需再次执行以下步骤:

  1. cd 到项目文件夹
  2. dnu 恢复

(下载安装...) 写锁文件 /home/ubuntu/vNext/WebApplication1/src/WebApplication1/project.lock.json npm WARN package.json ASP.NET@0.0.0 无描述 npm WARN package.json ASP。 NET@0.0.0 没有存储库字段。npm WARN package.json ASP.NET@0.0.0 No README data [18:04:44] 警告:gulp 版本不匹配:[18:04:44] 全局 gulp 为 3.9.0 [18:04:44] 本地 gulp是 3.8.11 [18:04:44] 使用 gulpfile ~/vNext/WebApplication1/src/WebApplication1/gulpfile.js [18:04:44] 开始'干净'... [18:04:44] 完成'干净' 5.43 毫秒后 [18:04:44] 开始“复制”... [18:04:44] 16 毫秒后完成“复制” 恢复完成,经过 217628 毫秒

  1. dnx 红隼

System.InvalidOperationException:无法解析目标框架'DNX,Version = v4.5.1'的以下依赖项:EntityFramework.Commands 7.0.0-beta4 EntityFramework.SqlServer 7.0.0-beta4 Microsoft.AspNet.Authentication.Cookies 1.0.0- beta4 Microsoft.AspNet.Authentication.Facebook 1.0.0-beta4 Microsoft.AspNet.Authentication.Google 1.0.0-beta4 Microsoft.AspNet.Authentication.MicrosoftAccount 1.0.0-beta4 Microsoft.AspNet.Authentication.Twitter 1.0.0-beta4 Microsoft .AspNet.Diagnostics 1.0.0-beta4 Microsoft.AspNet.Diagnostics.Entity 7.0.0-beta4 Microsoft.AspNet.Identity.EntityFramework 3.0.0-beta4 Microsoft.AspNet.Mvc 6.0.0-beta4 Microsoft.AspNet.Mvc.TagHelpers 6.0.0-beta4 Microsoft.AspNet.Server.IIS 1.0。0-beta4 Microsoft.AspNet.Server.WebListener 1.0.0-beta4 Microsoft.AspNet.StaticFiles 1.0.0-beta4 Microsoft.AspNet.Tooling.Razor 1.0.0-beta4 Microsoft.Framework.CodeGenerators.Mvc 1.0.0-beta4 Microsoft .Framework.ConfigurationModel.Json 1.0.0-beta4 Microsoft.Framework.ConfigurationModel.UserSecrets 1.0.0-beta4 Microsoft.Framework.Logging 1.0.0-beta4 Microsoft.Framework.Logging.Console 1.0.0-beta4 Microsoft.VisualStudio.Web .BrowserLink.Loader 14.0.0-beta4 搜索位置:/home/ubuntu/vNext/{name}/project.json /home/ubuntu/vNext/WebApplication1/src/{name}/project.json /home/ubuntu/vNext /WebApplication1/test/{name}/project.json /usr/lib/mono/4.5/{name}.dll /usr/lib/mono/4.5/Facades/{name}.dll 尝试运行'dnu 恢复'。

在 Microsoft.Framework.ApplicationHost.Program.Main (System.String[] args) [0x00000] in :0

这里有错误

我试图在项目文件夹中运行“dnu restore -s https://www.myget.org/F/aspnetvnext/api/v2/ ”,但遇到了一些其他错误

所以,问题是,我做错了什么,还是 Visual Studio 2015 RC 创建的默认 ASP.NET vNext 项目无法在 Ubuntu(和其他 Linux 发行版)下运行?

0 投票
0 回答
374 浏览

.net-core - 如何使用来自 OSX 或 Linux 的 .Net Core 和 Kestrel 运行 Websharper 项目?

我正在尝试使用 kestrel 最小服务器直接从控制台运行一个基本的 Websharper 项目,完全缺乏文档。我使用 XSP 运行了 Web 项目,但我想用新的运行时对其进行测试。

0 投票
2 回答
3259 浏览

asp.net - EADDRINUSE 地址已被使用

当我dnu . kestrel在 OS X 上运行启动 asp.net 5 服务器,然后按CTL+C停止服务器,然后再次运行dnu . kestrel时,我收到以下异常:

Sullys-MacBook-Pro:Test1App Sully$ dnx 。红隼

System.Exception:错误 -48 EADDRINUSE 地址已在 Microsoft.AspNet.Server.Kestrel.Networking.Libuv.Check (Int32 statusCode) [0x00000] in :0 在 Microsoft.AspNet.Server.Kestrel.Networking.Libuv.listen 使用(Microsoft.AspNet.Server.Kestrel.Networking.UvStreamHandle 句柄,Int32 积压,Microsoft.AspNet.Server.Kestrel.Networking.uv_connection_cb cb)[0x00000] 在:0 在 Microsoft.AspNet.Server.Kestrel.Networking.UvStreamHandle.Listen (Int32 积压,System.Action`4 回调,System.Object 状态)[0x00000] in :0 ^C

终端就像服务器正在运行一样,因为我必须CTL+C再次按下才能终止服务器进程。虽然它正在“运行”,但我实际上无法从浏览器导航到它。

在我更改代码时是否有适当的方法来关闭服务器,而不必杀死终端,打开一个新终端,导航到我的项目目录并重新启动 kestrel?

我在 SO 上看到了与此相关的其他错误;它们似乎都与Android有关。我还没有看到任何与 kestrel 和dnuforEADDRINUSE

0 投票
1 回答
118 浏览

asp.net - OSX 上的 .NET5 - DNVM shell 中的 C# 错误(如此接近..)

我试图让一个旧项目在新的 .NET VM 上运行,此时我已经克服了一些障碍。有一段时间我无法让 DNVM 将我的项目识别为 .NET 项目,直到我从示例项目中添加了几个丢失的文件,并使用dnvm . kestrel而不是dnvm . web然后我得到了大约 80mb 的 C# 错误......

所以我从不被认为是一个项目,到被认为是一个糟糕的项目:/

有人打过这个关吗?先感谢您。

0 投票
2 回答
518 浏览

visual-studio-2015 - 在 windows 中发布的 ASP.NET 5 Web 应用程序可以在 linux 上运行吗?

我有一个使用默认 Web 应用程序模板在 Visual Studio 2015 中创建的示例 ASP.NET 5 Web 应用程序。
我的目标是 dnx451 clr 1.0.0-beta5 (x64),并且能够使用 kestrel web 服务器在我的 windows 机器上成功编译、发布和托管这个应用程序。
我发现发布的目录有一个用于 windows(kestrel.cmd) 的脚本文件和一个 bash 脚本文件。
我的理解是,在这种情况下,如果在 linux 机器上设置了适当的 DNX 运行时,已发布的 Web 应用程序也应该在 linux 系统上按原样运行。
我的理解有效吗?