首页 文章

ASP.net Core 2.0应用程序作为子应用程序

提问于
浏览
1

我有一个在IIS中托管的现有Web应用程序,它是一个ASP.NET MVC应用程序 . 假设这是作为 www.mysite.com 托管的 . 我正在尝试将.NET Core 2.0 Web应用程序作为子应用程序托管 .

但是当我尝试将其作为 www.mysite.com/subaApp 进行访问时,IIS正在根路径( www.mysite.com )中查找所有静态文件( jscss 等) .

如果有任何解决方案,请告诉我 . (我的.Net Core 2.0应用程序正在为Angular 5应用程序提供服务)

我的默认文件( index.html )是作为Angular 5构建的一部分生成的,它看起来像这样:

<script type="text/javascript" src="inline.318b50c57b4eba3d437b.bundle.js"></script>
<script type="text/javascript" src="polyfills.bf95165a1d5098766b92.bundle.js"></script>
<script type="text/javascript" src="main.e0d3a51586e8e9fd039d.bundle.js"></script>

3 回答

  • 0

    在Razor处理的视图中,您可以使用“家庭相对”URL来确保放置正确的URL(包括您的虚拟目录) . 例如:

    <script src="~/path/to/my/script.js"></script>
    

    在Razor处理视图后,最终看起来像:

    <script src="/subaApp/path/to/my/script.js"></script>
    

    在常规C#代码中,您可以访问 UrlHelper (控制器,视图组件)的实例或注入 IUrlHelperFactory 并自己创建一个(在请求生命周期内运行的其他类,例如标记帮助程序),您可以使用 Content 方法获取该上下文网址 .

    对于其他静态文件中的引用,例如CSS导入,CSS背景图像等,您应该使用路径相对URL . 例如,如果您需要在 wwwroot\css 的样式表中的 wwwroot\images 中包含背景图像,那么您可以这样做:

    background-image: url('../images/myimage.jpg');
    

    换句话说,从当前目录(wwwroot \ css到wwwroot)上升到图像目录(wwwroot \ images) .

  • 0

    VS在内部使用Angular CLI来构建角度文件并进行部署 . 这就是在构建过程中修改索引文件的方式 .

    您可以使用以下方式将build命令设置的内容更改为客户端应用程序文件夹中的文件package.json文件

    ng build --base-href  --deploy-url /subsite
    

    这将更改将在index.html文件中生成的JS和css文件路径的路径 .

    Reference

  • 0

    您应该在.NET Core应用程序的Program.cs文件中的 Web host is built 时设置 root directory . 使用以下方法设置内容根目录 .

    UseContentRoot(Directory.GetCurrentDirectory()
    

    您的Program.cs文件看起来应该与此类似 .

    public class Program
    {
        public static void Main(string[] args)
        {
            BuildWebHost(args).Run();
        }
    
        public static IWebHost BuildWebHost(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseContentRoot(Directory.GetCurrentDirectory())
                .UseIISIntegration()
                .UseStartup<Startup>()
                .Build();
    }
    

相关问题