使用 OWIN 启动多个 Web 服务器
Start multiple web servers with OWIN
我想托管一个 ASP.NET MVC Web API 应用程序和一个单页 网站项目 在同一个 URL.
基本上,将网站托管在 http://localhost/, and the API on http://localhost/api/。
在 IIS 中,只需设置一个 Application 子文件夹,然后将其指向磁盘上的文件即可。在 OWIN 中,我不确定如何实现这种情况。
我有一个将用作 Web 主机的控制台应用程序,它目前正在使用此代码中找到的方法托管 WebAPI 应用程序:
SelfHostWebApiWithOwinAndUnity
有人可以帮忙吗?
如果我的理解正确,您想要托管一些静态 html 文件以及 Web api。这对 OWIN 来说相当简单。我假设您已经拥有用于 Web API 的 nuget 包,所以请继续获取 StaticFiles package。然后在Startup.Configuration中可以添加如下代码:
var options = new FileServerOptions();
options.EnableDefaultFiles = true;
options.DefaultFilesOptions.DefaultFileNames = new[] { "index.html" };
options.DefaultFilesOptions.FileSystem = new PhysicalFileSystem("Web");
options.DefaultFilesOptions.RequestPath = PathString.Empty;
app.UseFileServer(options);
这将提供文件夹 "Web" 中的文件。提供的默认文件将是 "index.html",Web 文件夹中的任何其他文件都可以使用其文件名访问(即 localhost/otherpage.html)。它不允许访问 Web 的子文件夹。
然后只需确保您的 WebAPI 路由都以 "api/"
开头
我想托管一个 ASP.NET MVC Web API 应用程序和一个单页 网站项目 在同一个 URL.
基本上,将网站托管在 http://localhost/, and the API on http://localhost/api/。
在 IIS 中,只需设置一个 Application 子文件夹,然后将其指向磁盘上的文件即可。在 OWIN 中,我不确定如何实现这种情况。
我有一个将用作 Web 主机的控制台应用程序,它目前正在使用此代码中找到的方法托管 WebAPI 应用程序: SelfHostWebApiWithOwinAndUnity
有人可以帮忙吗?
如果我的理解正确,您想要托管一些静态 html 文件以及 Web api。这对 OWIN 来说相当简单。我假设您已经拥有用于 Web API 的 nuget 包,所以请继续获取 StaticFiles package。然后在Startup.Configuration中可以添加如下代码:
var options = new FileServerOptions();
options.EnableDefaultFiles = true;
options.DefaultFilesOptions.DefaultFileNames = new[] { "index.html" };
options.DefaultFilesOptions.FileSystem = new PhysicalFileSystem("Web");
options.DefaultFilesOptions.RequestPath = PathString.Empty;
app.UseFileServer(options);
这将提供文件夹 "Web" 中的文件。提供的默认文件将是 "index.html",Web 文件夹中的任何其他文件都可以使用其文件名访问(即 localhost/otherpage.html)。它不允许访问 Web 的子文件夹。
然后只需确保您的 WebAPI 路由都以 "api/"
开头