Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带angularjs的模块化ASP.NET 5 SPA_C#_Angularjs_Single Page Application_Asp.net Core - Fatal编程技术网

C# 带angularjs的模块化ASP.NET 5 SPA

C# 带angularjs的模块化ASP.NET 5 SPA,c#,angularjs,single-page-application,asp.net-core,C#,Angularjs,Single Page Application,Asp.net Core,我们一直在进行一个大型项目,该项目使用SPA作为前端。 我们要求应用程序必须是模块化的,这意味着我们可以向不同的客户销售不同的模块。 我们一直在努力为这个项目找到最好的方法 我们选择这种方法: 一个具有通用功能的Web应用程序,每个模块一个类库(包)。 但是静态文件有问题。我们无法将主WebApp配置为在不同位置查找静态文件 我们尝试这样做: app.UseStaticFiles(new StaticFileOptions() { FileProvider = new EmbeddedFil

我们一直在进行一个大型项目,该项目使用SPA作为前端。 我们要求应用程序必须是模块化的,这意味着我们可以向不同的客户销售不同的模块。 我们一直在努力为这个项目找到最好的方法

我们选择这种方法: 一个具有通用功能的Web应用程序,每个模块一个类库(包)。 但是静态文件有问题。我们无法将主WebApp配置为在不同位置查找静态文件

我们尝试这样做:

app.UseStaticFiles(new StaticFileOptions()
{
  FileProvider = new EmbeddedFileProvider(webModuleAssembly),
  RequestPath = new PathString("/Module1")
}
但它不起作用

我们找不到这种情况的例子。(我们使用ASP.NET5、MVC6-Beta8)

有没有人建议我们如何解决这个问题,或者你建议另一种方法

更多信息:每个模块可能都有很多文件,包括帮助页面、本地化、图像等

另外,我们讨论了在主WebApp中为每个模块创建文件夹的解决方案。但有时我们需要一些控制器(mvc/WebAPI)来支持客户端。 -如果我们把它们放在一个项目中,我们必须将它们安装到没有购买它的客户机上。
-如果我们只将MVC/WebAPI控制器分离到一个类库中,我们将在维护代码方面遇到问题当我说MVC/WEB API控制器时,我只说一些用于支持特定客户端操作的控制器-我们有不同的WebApi项目来实现业务逻辑。

这里真正的任务是在应用程序启动并运行后跟踪新插件

最好的办法是为所有插件(例如:wwwroot/Modules)提供一个基本文件夹。插件应该在那里工作(待加载)

之后,我建议在原始实现的基础上创建一个自定义的
StaticFileMiddleware
实现,即:

  • 基于缓存的“可用插件”(可用目录信息)集合解析每个请求
  • 每当在插件的标准文件夹下添加新文件夹时(例如:在
    wwwroot/Modules
    下),手动重置缓存

  • 使用基于
    EmbeddedFileProvider
    的自定义
    FileProvider
    还可以隐藏路径元素。例如:与浏览“/Modules/Billing/Views/something.html”不同,您可以使用“/Billing/Views/something.html”。

    多个模块,您是指多个ASP.NET 5应用程序?在这种情况下,在IIS中注册的“子模块”是否使用虚拟目录?嗯,我们希望使用模块的类库,而不是单独的ASP.NET 5应用程序-当然,如果可能的话。好的,我是在问,因为有一个问题,您需要为虚拟目录设置基本路径。Henk,当我正在研究一个类似的模块化应用程序时,您是否能够找到解决方案。我已经看过ASP.NET 5类库,它对于控制器(仅适用)、视图(需要嵌入资源)似乎工作得很好,但问题在于静态文件。我开始研究NuGet软件包的“content”文件夹是否适用于静态文件,但我还没有让它起作用。下面是一个正在进行的拉取请求,用于添加能够组合多个文件提供程序的功能:。我现在正在试验它,我能够将物理文件提供程序与多个嵌入式文件提供程序结合起来。现在我只需要找出静态文件。我会随时通知你的。