【问题标题】:Asp.net: 'application/grpc-web' is not supportedAsp.net:不支持“应用程序/grpc-web”
【发布时间】:2021-03-16 02:43:23
【问题描述】:

我在浏览器上运行了 Asp.net 核心和 gRPC……但现在我得到了:

info: Grpc.AspNetCore.Server.ServerCallHandler[2]
  Request content-type of 'application/grpc-web' is not supported.

关于如何追踪此问题的任何想法?

【问题讨论】:

  • 您是否对项目进行了任何更改,然后开始发生这种情况,或者这一切都是突然发生的?
  • 我相信是因为我做了一些改变。
  • 好的@Ray,我相信你必须放弃更多信息才能有任何帮助的机会..
  • 希望我能提供更多有用的信息。我正在寻找更多可以指出问题的诊断方法。比如列出支持的内容类型等...无论如何,我发现了问题:我两次调用 app.UseEndpoints() 是...不好?
  • 顺便说一句:我添加了一个单元测试,可以更快地捕捉到这种错误。

标签: asp.net-core blazor grpc code-first grpc-web


【解决方案1】:

我遇到了这个问题。我在app.UseRouting(); 之前有我的app.UseGrpcWeb();

它必须在之后。

所以正确的顺序是:

    app.UseRouting();
    app.UseGrpcWeb();

参见https://docs.microsoft.com/en-us/aspnet/core/grpc/browser?view=aspnetcore-5.0 -- "在 ASP.NET Core 中配置 gRPC-Web"

【讨论】:

    【解决方案2】:

    您的Startup.cs 中可能存在问题

    你的应该看起来像这样

    我的猜测是您在 EndpointConventionBuilder 上缺少 app.UseGrpcWeb()EnabledGrpc()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-24
      • 2013-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多