我目前正在开发Blazor服务器端应用程序,并且在启动页面后直接遇到随机错误。当我按下F5按钮或单击索引页面上的任何链接时,页面将重新加载,并且错误不再出现。该错误消息非常通用,我真的不知道从哪里开始调试。即使我完全删除了起始页Index.razor页面的内容,也会发生该错误。任何想法如何解决这个问题?我正在IISExpress下的本地计算机上运行它。
label(for = 'ele_label') Elements :
select(id = 'ele_list')
option(value = "", disabled, selected = "true") -
if result !== null
-for (var i = 0; i < result.length; i++){
option(value = result[i].elements) #{result[i].elements}
-}
我的Startup.cs看起来像这样:
blazor.server.js:1 [2020-01-22T08:08:24.333Z] Information: Normalizing '_blazor' to 'https://localhost:44347/UserManagement/_blazor'.
blazor.server.js:1 [2020-01-22T08:08:24.845Z] Information: WebSocket connected to wss://localhost:44347/UserManagement/_blazor?id=SDcEnRoqVlu-3GRhPqRj7g.
blazor.server.js:15 [2020-01-22T08:08:25.064Z] Error: The circuit failed to initialize.
e.log @ blazor.server.js:15
C @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
(anonymous) @ blazor.server.js:1
e.invokeClientMethod @ blazor.server.js:1
e.processIncomingData @ blazor.server.js:1
connection.onreceive @ blazor.server.js:1
i.onmessage @ blazor.server.js:1
blazor.server.js:1 [2020-01-22T08:08:25.067Z] Information: Connection disconnected.
blazor.server.js:1 Uncaught (in promise) Error: Invocation canceled due to the underlying connection being closed.
at e.connectionClosed (blazor.server.js:1)
at e.connection.onclose (blazor.server.js:1)
at e.stopConnection (blazor.server.js:1)
at e.transport.onclose (blazor.server.js:1)
at e.close (blazor.server.js:1)
at e.stop (blazor.server.js:1)
at e.<anonymous> (blazor.server.js:1)
at blazor.server.js:1
at Object.next (blazor.server.js:1)
at a (blazor.server.js:1)
e.connectionClosed @ blazor.server.js:1
connection.onclose @ blazor.server.js:1
e.stopConnection @ blazor.server.js:1
transport.onclose @ blazor.server.js:1
e.close @ blazor.server.js:1
e.stop @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
a @ blazor.server.js:1
Promise.then (async)
c @ blazor.server.js:8
a @ blazor.server.js:8
Promise.then (async)
c @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
r @ blazor.server.js:8
E @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
n @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
_Host.cshtml
using Blazored.Modal;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using UserManagement.Data;
using UserManagement.Models;
namespace UserManagement
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
// For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
public void ConfigureServices(IServiceCollection services)
{
services.AddRazorPages();
services.AddServerSideBlazor().AddCircuitOptions(options => { options.DetailedErrors = true; });
services.AddBlazoredModal();
services.AddDbContext<UserManagementContext>(options => options.UseSqlServer(REMOVED);
services.AddDbContext<RecertificationContext>(options => options.UseSqlServer(REMOVED);
var config = new ConfigurationBuilder()
.Build();
services.AddSingleton(config);
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UsePathBase("/UserManagement");
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapBlazorHub();
endpoints.MapFallbackToPage("/_Host");
});
}
}
}
答案 0 :(得分:1)
这很有趣。我创建了一个新的Blazor服务器端项目,并将所有类复制到该项目中,并确保两个项目中的代码相同。并猜测是什么,该错误不会出现在新项目中。
除了清除/重建项目外,还有什么方法可以“擦除”某种缓存吗?