wil*_*lee 16 asp.net self-hosting owin katana
我使用Owin自托管控制台应用程序建立了一个网站.我正在提供静态文件没有问题,网站静态部分的"根"正常工作,并且Web API路由也正常工作.
如果我浏览到:
http://localhost/index.html
Run Code Online (Sandbox Code Playgroud)
它呈现了我所期望的一切.但我还没弄清楚如何设置它以便浏览:
http://localhost
Run Code Online (Sandbox Code Playgroud)
提供index.html(作为默认视图).这是在IIS风格的网站下工作.如何使其与Owin自我主机一起使用?
Sam*_*bes 21
fra的答案的更详细版本:
1- NuGet安装Microsoft.Owin.StaticFiles(我假设你已经通过NuGet安装了Microsoft.AspNet.WebApi.OwinSelfHost)
2-在解决方案中创建一个目录(在Visual Studio中),并将所有客户端文件放入其中,例如
+Web
--+images
--+pages
------page1
------page2
--+scripts
--+css
---index.html
Run Code Online (Sandbox Code Playgroud)
注意:有一个根目录(web)包含所有其他目录,并且根目录下的index.html.
3-现在,在包含web api路由配置的同一个类中,添加以下代码:
var physicalFileSystem = new PhysicalFileSystem(@".\Web"); //. = root, Web = your physical directory that contains all other static content, see prev step
var options = new FileServerOptions
{
EnableDefaultFiles = true,
FileSystem = physicalFileSystem
};
options.StaticFileOptions.FileSystem = physicalFileSystem;
options.StaticFileOptions.ServeUnknownFileTypes = true;
options.DefaultFilesOptions.DefaultFileNames = new[] { "index.html" }; //put whatever default pages you like here
appBuilder.UseFileServer(options);
Run Code Online (Sandbox Code Playgroud)
4- prev代码工作的另一个步骤:确保将Copy to output directoryWeb目录中的所有文件的属性(以及所有嵌套目录)设置为Copy Always[select the file | 按F4,或右键单击属性| 去Copy to output directory]
就这样 :)
fra*_*fra 19
我是这样做的:
var physicalFileSystem = new PhysicalFileSystem(webPath);
var options = new FileServerOptions
{
EnableDefaultFiles = true,
FileSystem = physicalFileSystem
};
options.StaticFileOptions.FileSystem = physicalFileSystem;
options.StaticFileOptions.ServeUnknownFileTypes = true;
options.DefaultFilesOptions.DefaultFileNames = new[] { "index.html" };
appBuilder.UseFileServer(options);
Run Code Online (Sandbox Code Playgroud)
也许这是一个迟到的答案,但如果您只需要一个默认文档,那么代码将会更少:
builder.UseDefaultFiles(new DefaultFilesOptions
{
DefaultFileNames = Enumerable.Repeat("index.html", 1).ToList()
});
Run Code Online (Sandbox Code Playgroud)
builder.UseStaticFiles无论出于何种原因,都应该先调用它.
版本Microsoft.Owin.StaticFiles是3.0.1
| 归档时间: |
|
| 查看次数: |
10493 次 |
| 最近记录: |