首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >发布到IIS10时未在PageModel中发现的端点: Http Response 404 .Net核心RazorPages

发布到IIS10时未在PageModel中发现的端点: Http Response 404 .Net核心RazorPages
EN

Stack Overflow用户
提问于 2019-01-14 22:59:27
回答 1查看 1.9K关注 0票数 0

在IIS Express中进行调试时,可以通过GET访问所有终结点。当发布到IIS10时,我可以导航到正在调用public void OnGet()的页面,并呈现剃刀页面。当在服务器IIS10上调用./MyPage/Partial时,我收到一个404not Found错误,这在Visual Studio中的IIS Express上不会发生。

代码语言:javascript
复制
 public class IndexModel : PageModel
    {
        [BindProperty]
        public MyModel MyModel { get; set; }

        [HttpGet]
        public void OnGet()
        {
            ...
        }

        [HttpGet]
        public IActionResult OnGetPartial([FromQuery] int id)
        {
            ...
        }
    }

我已经按照https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2上的说明进行了操作,我的最佳猜测是我需要按照https://docs.microsoft.com/en-us/aspnet/core/razor-pages/razor-pages-conventions?view=aspnetcore-2.2配置这些路由

虽然我的问题是,为什么在IIS Express中我可以调用javascript jquery $.load('./MyPage/Partial?id=1'),而且它工作得很好,并且在发布时返回404错误?具体的解决方案是什么?

编辑:在我的Index.cshtml中,为了处理自定义的REST方法,我的页面顶部有下面的@page "{handler?}“。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-15 23:18:59

为了解决这个问题,我遵循了文件Startup.cs中的https://docs.microsoft.com/en-us/aspnet/core/razor-pages/razor-pages-conventions?view=aspnetcore-2.2或您在Program.cs中使用的任何类via的说明

代码语言:javascript
复制
WebHost.CreateDefaultBuilder(args)
                .UseKestrel()
                .UseStartup<Startup>();

在文件Startup.cs中的方法中

代码语言:javascript
复制
public void ConfigureServices(IServiceCollection services)
{
   services.AddMvcCore().AddRazorPages(options => options.Conventions.AddPageRoute("/MyPage", "/MyPage/Partial/{id}")).AddRazorViewEngine().AddViews();

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

https://stackoverflow.com/questions/54183897

复制
相关文章

相似问题

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