在文件共享上部署Blazor Web应用程序

时间:2018-11-03 00:00:49

标签: blazor

Blazor可用于创建客户端C#脚本编写的网页。我在各个地方(例如MSDN Magazine article)上阅读过的文件,这些文件一旦建立便可以将文件放在任何服务器上。我的理解是,也可以将工件放置在文件共享上。

但是,这不是我观察到的。在我通过Visual Studio中的模板创建的Blazor Web应用程序的项目目录中运行dotnet run,会使红est Web服务器启动,并且我可以通过指定的http://localhost:port/地址访问工作的网页。

index.html的帮助下打开在WebApplication1\bin\Debug\netstandard2.0\publish\WebApplication1\dist路径下生成的dotnet publish时,我在Web浏览器中只看到一个文字“ Loading ...”。 / p>

我看过index.html,乍一看,看来_framework/blazor.webassembly.js的路径与目录结构匹配。渔获物在哪里?

2 个答案:

答案 0 :(得分:1)

您说:

  

当我在dotnet publish的帮助下打开在WebApplication1 \ bin \ Debug \ netstandard2.0 \ publish \ WebApplication1 \ dist路径下生成的index.html时,仅在我的网络浏览器。

这是因为Blazor希望在根路径上找到dll。我的意思是,如果您将dist的内容复制到Web服务器的根目录上,那么一切都会很好,但是如果您将其复制到根目录的“子文件夹”中,则一切正常。

如果要从路径(而不是从根)提供文件,则应设置app base path,我的意思是,更改:

<base href="/" /> 

<base href="/your_path/" />

index.html页上。

来自文档:

  

应用程序基本路径是服务器上的虚拟应用程序根路径。例如,位于/CoolBlazorApp/的Contoso服务器上位于https://www.contoso.com/CoolBlazorApp的虚拟文件夹中的应用程序,其虚拟基本路径为/CoolBlazorApp/

答案 1 :(得分:0)

我使用文件夹上的端口号启动了HTTP服务器,并且该应用程序可以很好地与http://localhost:4565/之类的URL一起使用。已使用this HTTP server code。但总的来说,任何HTTP服务器都可以正常工作。