WebApi托管静态网站(Owin 自托管静态网站)

news/2024/5/9 4:40:29/文章来源:https://blog.csdn.net/xy596356456/article/details/108961201

我们在使用WebApi对外提供简单Api的时候,有时候往往需要同步提供一些简单的静态页面给用户,例如OAuth认证服务,提供一个授权界面等。如果我们单独架设网站,将会导致调用我们自己的接口出现跨域访问,出现IE8及以下浏览器不兼容的情况。那么WebApi接口平台如何在提供Api服务的同时提供静态页面给用户访问呢,请继续往下看

实现功能:

          WebApi接口平台如何在提供Api服务的同时提供静态页面给用户访问

一、实现WebApi平台

     请参照我的历史文章

  1. WebApi多版本管控和插件式开发(一)——WebApi服务搭建

  2. WebApi多版本管控和插件式开发(二)——WebApi多版本管控

  3. WebApi多版本管控和插件式开发(三)——WebApi插件式开发

  4. 附上源码:https://download.csdn.net/download/xy596356456/12864960

二、实现静态网站托管

1.添加Microsoft.Owin.StaticFiles引用

     使用Nuget引入以下包

            Microsoft.Owin.StaticFiles

     以上有依赖项,同步引入

2.向项目添加静态网站

      您可以将您的静态网站直接放入到接口平台根目录新建的一个文件夹中

      我这里在项目根目录创建了一个文件夹Web

     

      并在文件夹中创建了一个Index.html的文件,文件内容为

<!DOCTYPE html><html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head><meta charset="utf-8" /><title></title>
</head>
<body><h1>Hello World!</h1>
</body>
</html>

      模拟一个静态的网站

      注意:所有静态资源文件都要 右键->属性 设置 复制到输出目录 为 始终复制  保证静态资源能生成到输出目录中

3.修改启动类

      直接贴代码

using Microsoft.Owin;
using Microsoft.Owin.FileSystems;
using Microsoft.Owin.StaticFiles;
using Owin;
using System.Web.Http;
using System.Web.Http.Dispatcher;[assembly: OwinStartup(typeof(WebApiService.Startup))]namespace WebApiService
{public class Startup{public void Configuration(IAppBuilder app){// 有关如何配置应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkID=316888var config = new HttpConfiguration();config.Routes.MapHttpRoute(name: "DefaultApi",routeTemplate: "api/{controller}/{id}",defaults: new { id = RouteParameter.Optional });config.Services.Replace(typeof(IAssembliesResolver), new PluginsResolver());//此处是插件式开发的 配置,在此时还未实现先注释config.Services.Replace(typeof(IHttpControllerSelector), new VersionnControllerSelector(config));//此处是多版本管控的配置,在此时还未实现先注释var physicalFileSystem = new PhysicalFileSystem(@".\Web"); //静态网站根目录var options = new FileServerOptions{EnableDefaultFiles = true,FileSystem = physicalFileSystem};options.StaticFileOptions.FileSystem = physicalFileSystem;options.StaticFileOptions.ServeUnknownFileTypes = true;options.DefaultFilesOptions.DefaultFileNames = new[] { "Index.html" }; //默认页面(填写与静态网站根目录的相对路径)app.UseFileServer(options);app.UseWebApi(config);}}
}

现在就可以了,我们启动项目

直接访问:http://127.0.0.1:8088

我们看见了大大的Hello World!页面成功显示

访问API:http://127.0.0.1:8088/Api/GetData

也可以正常请求到数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_868674.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

那些网站够安全吗?

近日&#xff0c; CSDN 社区网站数据库泄露 &#xff0c;近 600 万用户真实账号密码外泄。该事件横扫整个中文互联网&#xff0c;并且随后又爆出 多玩游戏 800 万用户资料被泄露 &#xff0c;另有传言人人网、开心网、天涯社区、世纪佳缘、百合网等社区都有可能成为黑客下一个目…

5个在线的网站测试和验证工具

网站上线前的测试和验证是非常重要的一个环节&#xff0c;验证的意思是检查网站的页面和其他数据是否符合标准规范&#xff0c;设计规范的网站在各种浏览器上表现会一致而且良好。 为了帮助你执行这些测试和验证&#xff0c;今天我们列表了5个在线的工具。 Pingdom Tools Ping…

使用GitHub建立个人网站

使用GitHub建立个人网站 1 Git简介 2 为什么使用Github Pages 3 创建Github Pages 3.1 安装git工具. 3.2 两种pages模式 3.3 创建步骤 3.4 常用命令 4 使用Jekyll搭建博客 4.1 什么是jekyll 4.2 jekyll本地环境搭建 4.3 jekyll目录结构 4.4 Jekyll-Bootstrap创建博客 4.5 Je…

cnzz统计网站

cnzz是由国际著名风险投资商IDG投资的网络技术服务公司&#xff0c;是中国互联网目前最有影响力 CNZZ网站首页的免费流量统计技术服务提供商&#xff0c;专注于为互联网各类站点提供专业、权威、独立的第三方数据统计分析。同时&#xff0c;CNZZ拥有全球领先的互联网数据采集、…

网站防止攻击

1、什么是XSS XSS又叫CSS (Cross Site Script) &#xff0c;跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码&#xff0c;当用户浏览该页之时&#xff0c;嵌入其中Web里面的html代码会被执行&#xff0c;从而达到恶意用户的特殊目的。XSS属于被动式的攻击&#…

如何防止你的网站被攻击?

避免网站被攻击&#xff0c;其实是可以提前预防的&#xff0c;那么要如何预防呢&#xff1f; 1、关闭不必要的端口和服务 2、安装杀毒软件或者是防火墙来抵御攻击。 3、定期修改账户密码&#xff0c;尽量设置的复杂些&#xff0c;不要使用弱密码。 4、日常维护的时候要注意&…

网站前端开发--css篇

Ⅰ 全局&#xff1a;global.css 全局样式为全站公用&#xff0c;为页面样式基础&#xff0c;页面中必须包含。 结构&#xff1a;layout.css 页面结构类型复杂&#xff0c;并且公用类型较多时使用。多用在首页级页面和产品类页面中。 私有&#xff1a;style.css 独立页面所使用的…

scrapy爬取途牛网站旅游数据

描述&#xff1a;采取了scrapy框架对途牛网旅游数据进行了爬取&#xff0c;刚开始练手&#xff0c;所以只爬了四个字段用作测试&#xff0c;分别是景点名称、景点位置、景点开放时间、景点描述&#xff0c;爬取结果存的是json格式。 部分数据&#xff1a; 部分代码&#xf…

网站数据统计分析之一:日志收集原理及其实现

网站数据统计分析工具是网站站长和运营人员经常使用的一种工具&#xff0c;比较常用的有谷歌分析、百度统计 和 腾讯分析等等。所有这些统计分析工具的第一步都是网站访问数据的收集。目前主流的数据收集方式基本都是基于javascript的。本文将简要分析这种数据收集的原理&#…

WordPress建站后必做的几项优化

欢迎大家访问我的个人博客网站&#xff1a;风挽青个人博客 1、修改上传文件大小限制 wordpress上传文件一般都有限制&#xff0c;通常为2M&#xff0c;在一些情况下会不够用&#xff0c;所以自然是提升它的上传文件限制大小。 找到php.ini文件&#xff0c;然后修改其中的几个…

实现基于LNMP的电子商务网站

一、环境准备 yum安装mariadb、 mariadb-mysql、php-fpm、Nginx 并开启服务 二、 1、下载开源的购物商城软件包&#xff0c;解压到/data/test文件夹下&#xff0c;可自定义 unzip 2、修改用户和属组为nobody chown nobody . chgrp -R nobody . 三、 1、修改Nginx配…

SEOmoz开放Open Site Explorer工具API

SEOmoz是SEO行业知名站点&#xff0c;上周SEOmoz推出了外链分析工具Open Site Explorer。今天很高兴告诉大家&#xff0c;Open Site Explorer开始免费开放API了。 英文过得去的可以看原文的介绍&#xff1a;Launching the SEOmoz Free API and Enough Power to Build Open Site…

商机无限!在政府门户网站升级改造中掘金

作者&#xff1a; 王凤霞 2007-10-31 内容导航&#xff1a; 政府网站升级改造高潮已经全... 第1页&#xff1a; 政府网站升级改造高潮已经全面到来 第2页&#xff1a; 政府门户网站升级改造中商机无限 第3页&#xff1a; 政府门户网站升级改造的新特点 第4页&#xff1a; …

超级鹰模拟登录古诗文网站

源码分享: 下面是超级鹰的源码,可以从他们的网站下载,我作了一点修改

网站出现403 Forbidden错误的原因以及怎么解决的方法

这几天刚接手一批新做的网站&#xff0c;在访问网站的时候&#xff0c;会时不时的出现403 Forbidden错误&#xff0c;浏览器会给出403 Forbidden错误提示&#xff0c;在打开Access Error中列出的URL之后, 出现以下错误&#xff1a; 403 Forbidden Access to this resource on t…

说说大型高并发高负载网站的系统架构(更新)

此文系转载&#xff0c;如需转载请保留出处&#xff1a;俊麟 Michael’s blog (http://www.toplee.com/blog/?p71) Trackback Url : http://www.toplee.com/blog/wp-trackback.php?p71 鄙人先后在CERNET做过拨号接入&#xff0c;在Yahoo&3721搞过搜索前端&#xff0c;在…

高并发高流量网站架构

Web2.0 的兴起&#xff0c;掀起了互联网新一轮的网络 创业大潮。以用户为导向的新网站建设概念&#xff0c;细分了网站功能和用户群&#xff0c;不仅成功的造就了一大批新生的网站&#xff0c;也极大的方便了上网的人们。但 Web2.0 以用户为导向的理念&#xff0c;使得新生的网…

一个厂商网站的SQL安全检测 (啊D、明小子)

鄙人今年20&#xff0c;七年前也就是我初一的时候钻研过一段时间的攻防技术&#xff0c;但是由于年纪尚小不懂代码而且以学业为重放弃了继续钻研。 前几天学校一学弟开群拉有兴趣的同学进入&#xff0c;我又想到了过去学到的那些东西&#xff0c;突然又有了感觉&#xff0c;不能…

记录 免费高清视频下载网站

7,000 最精彩的 Videos 图片 100% 免费下载 Pexels 素材图片https://www.pexels.com/zh-cn/search/videos

dw建站404问题,dw 404

dreamweaver浏览页面404错误 原因&#xff1a;物理路径错误 解决方法&#xff1a; 1、右键打开“计算机”-》“管理”-》“IIS管理器” 2.进入后点开“网站”&#xff0c;右键“添加网站” 3.物理路径填写你当前站点根目录的上一级目录&#xff0c;比如我的站点根目录在&…