WebApi中将静态页面作为首页

WebApi中将静态页面作为首页

使用场景

在我的项目中使用Asp.Net WebApi作为后端数据服务,使用Vue作为前端Web,在服务器IIS上部署时需要占用两个端口,一个是80端口,用户在浏览器上从这个端口获取打包好的Web页面;另一个是8080端口,Web页面从此端口获取或提交数据,访问8080端口需要跨域。这种方式客户不认可,只能占用一个80端口,不允许其他端口开放,所以就将打包的Web放在WebApi中。

解决方法

  1. 打包好的Web目录如下
    746318-20181226212725804-1053280621.png
  2. WebApi项目目录如下
    746318-20181226212755324-2134232629.png
  3. 将Web中static目录和favicon.ico复制到WebApi项目中
    746318-20181226212839214-1135893855.png
  4. 打开Views文件夹,将_ViewStart.cshtml中的内容全部删除
  5. 将Web目录中index.html文件的内容复制出来,拷贝到Views/Home/Index.cshtml中,整理后Views/Home/Index.cshtml的内容为

    <!DOCTYPE html>
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width" />
        <title>标题</title>
        <link rel="shortcut icon" href=./favicon.ico>
        <link href=./static/css/app.abb198de0270a22c35f32ccf9a4a1b01.css rel=stylesheet>
    </head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <body>
        <div id=app></div>
        <script type=text/javascript src=./static/js/manifest.be49c78c7e5a838dd267.js></script>
        <script type=text/javascript src=./static/js/vendor.3275876546e3749f8058.js></script>
        <script type=text/javascript src=./static/js/app.2c59f6f538120ab824c2.js></script>
    
    </body>
    </html>
    

    可能会遇到标题乱码的情况,在Views/Home/Index.cshtml中

    中添加
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    就好了

转载于:https://www.cnblogs.com/niecx/p/10181934.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值