设置.netcore webapp的端口似乎无法正常工作

时间:2019-01-24 05:23:16

标签: c# .net-core visual-studio-2017 port

我最近开始创建一个控制台应用程序,它将通过流程命令行启动我的api。我有2个API(1个Web API和1个Signalr套接字API)。

不幸的是,当我尝试通过UseUrls(urls)在“程序主要方法”中设置api的端口时,情况变得有些奇怪。

似乎webApi服务器已启动,我可以通过浏览至所需位置https://localhost:7001来访问该页面。

BUT-> 如果我尝试访问位于ValuesController旁的webApi上Controllers文件夹内的控制器(名为CelestialObjectController),则会出现错误500! https://localhost:7001/api/CelestialObject <-返回状态500`

这很有趣-> 您是否知道在创建新项目时VS生成的ValuesController?实际上,我可以联系此控制器并阅读Get方法!

https://localhost:7001/api/values起作用!..我可以看到值1和值2。....为什么这样做有效?.....为什么我自己的控制器即使出现错误500也给我一个错误500与ValuesController相同的目录? 另外,如果我修改ValuesController的值,则可以在重新编译和调试时看到更改。

只需提一下,.UseUrls($"https://*:{ProgramOptions.SocketPort}")方法似乎就可以在我的SocketApi上运行,该套接字在SignalR的7002端口上运行。我可以连接到套接字集线器,并且调用https://localhost:7002/api/value似乎也可以。我尚未测试添加控制器,因为我的socketapi不应依赖控制器,而应更多地依赖集线器,并且在尝试通过信号器客户端连接到该地址和端口的集线器时,它似乎可以正常工作

我发现的另一件事是,如果我调试每个api个体,一切似乎都可以正常工作,并且我可以检索数据,似乎它不能在生产模式下运行或作为进程启动时运行...

我确实尝试过更改launchSettings.json和项目属性中的Web设置,但这似乎使事情变得混乱,因此我将更改恢复为默认设置,现在我希望可以在此处找到答案!

有人可以向我解释此行为以及我可能要做的事,以便正确设置端口?

WebAPI中Program.cs中的CreateWebHostBuilder方法如下所示(与SocketAPI中的基本相同)

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
        .UseStartup<Startup>()
        .UseUrls($"https://*:{ProgramOptions.WebPort}");

对于这种情况的任何帮助,我们深表感谢!

编辑:

如果我查看请求/响应标头,则会看到以下内容: (来自Firefox Devtools)

响应标题(111 B)
内容长度
0 日期
2019年1月24日星期四08:40:22 GMT 服务器

请求标头(446 B)
接受
text / html,application / xhtml + xm ... plication / xml; q = 0.9, / ; q = 0.8 接受编码 gzip,放气,br 接受语言 de,en-US; q = 0.7,en; q = 0.3 缓存控制
最大年龄= 0 连接
活着 Cookie
Culture = {“ Language”:“ de”};同意= {“等级”:3} DNT 1个 主持人
本地主机:7001 不安全升级请求
1个 用户代理
Mozilla / 5.0(Windows NT 10.0;…)Gecko / 20100101 Firefox / 64.0

0 个答案:

没有答案