.net Blazor dll多次加载=>;铬资源不足

.net Blazor dll多次加载=>;铬资源不足,.net,load,blazor,.net,Load,Blazor,我有一个.NET 5 blazor应用程序,使用Web程序集托管功能。 在一个页面中,有许多以SSR为目标的iFrame,其中src字段的类型为“https://x.y.z.t?SSRS/blahblah". 当我发布我的应用程序时,登录页面工作得很好,但是包含所有iFrame的页面被加载了很多次:我的意思是所有blazor内容都被加载了很多次(或多或少26!),这会导致最后的一些请求失败,并出现资源不足错误 以下是chrome开发工具向我展示的示例: [ 这里显示的文件是dotnet.wasm

我有一个.NET 5 blazor应用程序,使用Web程序集托管功能。 在一个页面中,有许多以SSR为目标的iFrame,其中src字段的类型为“https://x.y.z.t?SSRS/blahblah". 当我发布我的应用程序时,登录页面工作得很好,但是包含所有iFrame的页面被加载了很多次:我的意思是所有blazor内容都被加载了很多次(或多或少26!),这会导致最后的一些请求失败,并出现资源不足错误

以下是chrome开发工具向我展示的示例: [ 这里显示的文件是dotnet.wasm

你知道这种行为的原因吗

编辑: 我想补充一点,iFrame包含一个参数:

<iframe id="iFrameTest" src=@($"{Tools.IframeAddress}?%2fSSRS%2fKPIs&rc:Section=12&rs:Command=Embed&HospitalParam={{{LocalizationBanner.SelectedSpeciality.Service.Site.Hospital.Id.ToString().ToUpper()}}}&SiteParam={{{LocalizationBanner.SelectedSpeciality.Service.Site.Id.ToString().ToUpper()}}}&ServiceParam={{{LocalizationBanner.SelectedSpeciality.Service.Id.ToString().ToUpper()}}}&SpecialityParam={{{LocalizationBanner.SelectedSpeciality.Id.ToString().ToUpper()}}}") scrolling="no" style="width:625px;height:700px" frameborder="0" />

其中Tools.IFrameAddress是从HostenEnvironment.BaseAddress定义的(它是一个静态变量)。
src字符串格式有错吗?

好的,我想现在我有足够的信息来提出建议。根本不要使用iFrame。相反,使用web api只传输原始数据(可能作为序列化的JSON对象),然后在客户端解压JSON,并用Blazor组件的多个实例展示它

我建议从以下内容或YouTube等效内容开始(我已经看过一些关于在Blazor中使用web api的好的YouTube教程):

注意:请务必阅读关于跨来源资源共享(CORS)的部分。它位于页面底部,但很重要


如果您对此过程的任何步骤有特定问题,我建议您打开一个新问题。

经过数小时的搜索,我找到了答案。iFrame src的类型为:http://x.y.z.t/ReportService/blahblah“和“/ReportService”用于捕获对SSR的调用,但端口仍然是默认端口,即80,位于地址“http://x.y.z.t:80“这是我的应用程序。
然后所有的iFrame都触发了我的应用程序的基本页面的重新加载。对不起,我没有给你iFrame的全部src。

只是把意大利面扔到墙上,但是你在iFrame中使用的是singlet服务吗?对不起,但我不明白你的问题,razor页面包含很多iFrame,每个iFrame在src字段中都有一个uri。如果是你要求一个单例服务,例如HttpClient,我在页面中注入了HttpClient,但它没有出现在iframe的URI中。在我看来,浏览器将每个iframe视为一个单独的实例,要求它再次加载整个逻辑。我从未使用过SSR——你的服务的是WASM页面吗?是的,托管的WASM。我进行了一些测试,似乎如果有1个iframe,dll会加载一次。2个iframe,会加载2次,等等。在开发中一切正常,但在azure上我遇到了问题。请查看我的编辑。为了避免这种情况,我看到的一种方法是使用虚拟目录。ThusI很高兴你找到了解决方案!