首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >asp.net核心路由问题http 500错误

asp.net核心路由问题http 500错误
EN

Stack Overflow用户
提问于 2021-12-02 22:41:47
回答 1查看 55关注 0票数 0

我正在尝试模拟一个arcgis服务,并且已经创建了一个简单的ASP.NET MVC应用程序。

我的网站使用的是默认路由映射

代码语言:javascript
运行
复制
app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id?}");

我的控制器是这样定义的,没有具体的路由

public class ESRIController : Controller

我在控制器中的方法定义为

代码语言:javascript
运行
复制
[Route("/arcgis/rest/services/{serviceName}/FeatureServer/{layerId}")]
public IActionResult FeatureServerLayer(string serviceName, int layerId, Dictionary<string, Microsoft.Extensions.Primitives.StringValues>? queryString)
{}

如果我像这样调用这个方法,就不会有问题

代码语言:javascript
运行
复制
http://localhost:5047/arcgis/rest/services/Landsdowne/FeatureServer/0

但如果像这样调用该函数,则会导致HTTP 500服务器错误

代码语言:javascript
运行
复制
http://localhost:5047/arcgis/rest/services/Landsdowne/FeatureServer/0?f=json

我的函数从未被调用过。该错误发生在ASP.NET核心运行时的某处。

使用Chrome查看请求也不会显示更多信息。

在chrome中没有显示其他响应。

EN

回答 1

Stack Overflow用户

发布于 2021-12-03 03:45:40

我在最初的帖子中没有提到的一件事是,这是一个基于Visual Studio2022的.NET Core6应用程序。

我创建了一个新的.NET Core5应用程序,没有引起任何错误,并且我的方法被正确调用。

我创建了另一个新的.NET核心6MVC应用程序,没有引起任何错误,并且我的方法被正确调用。

两个可以工作的应用程序和一个不能工作的应用程序的唯一区别是,不能工作的应用程序驻留在我的开发计算机上的IIS中(而不是IIS Express)。我之前安装了IISCore6托管捆绑包,这样我就可以通过.NET从远程机器进行调试,这是使用IIS Express做不到的。

所以看起来IIS主机可能是罪魁祸首。我需要在生产服务器上进行测试,以确定这是否仍然是一个问题。

但我需要它托管在我的开发机器上的IIS中,因为arcgis rest api是从Internet调用的,而我的开发机器是在公司防火墙内。我正在使用NGROK作为从互联网到我的机器的隧道。也许我可以配置IIS来应答远程连接?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70207358

复制
相关文章

相似问题

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