2015-12-30 11 views
0

Я новичок в Owin, и у меня есть расширенный вопрос, и я надеюсь, что это возможно.Owin PhysicalFileSystem - Встроенные ресурсы

У меня есть веб-приложение HTML/JS/CSS и я настроил Owin Как это

 var url = "http://localhost:8080"; 
     var root = args.Length > 0 ? args[0] : "."; 
     var fileSystem = new PhysicalFileSystem(root); 

     var options = new FileServerOptions(); 
     options.EnableDirectoryBrowsing = true; 
     options.FileSystem = fileSystem; 
     options.StaticFileOptions.ContentTypeProvider = new CustomContentTypeProvider(); 
     options.EnableDefaultFiles = true; 


     WebApp.Start(url, builder => builder.UseFileServer(options)); 
     Console.WriteLine("Listening at " + url); 
     Console.ReadLine(); 

и достаточно уверен, что это работает, когда я добавить свой проект в папку к югу и перейти к нему, как: http://localhost:8080/test/

Что я хочу сделать, это переместить мои файлы из физического каталога во встроенные ресурсы и сделать эти встроенные ресурсы в качестве моей папки/пути проекта для owin.

Могу ли я это сделать ?? и как я могу это достичь!

+0

Вы пробовали чтение [документацию] (https://msdn.microsoft.com/en-us/library/microsoft.owin.filesystems (v = vs.113) .aspx)? Там интригующе назван класс «EmbeddedResourceFileSystem» в том же месте, где вы можете найти «PhysicalFileSystem». –

+0

Можете ли вы, пожалуйста, привести пример, когда я просматриваю его, я могу найти TestHTTP.AppResources.resources ... как я могу инициировать свой index.html из этого встроенного ресурса –

ответ

1

Вам необходимо использовать EmbeddedResourceFileSystem. Затем замените в строке:

options.FileSystem = new EmbeddedResourceFileSystem(typeof(YourClass).Assembly); 
+1

Я бы просто хотел добавить к этому, что вам нужно разыменовать по пространству имен для того, чтобы работать «как и ожидалось», поэтому правильная установка на самом деле 'options.FileSystem = новый EmbeddedResourceFileSystem (TypeOf (YourClass) .assembly,«YourNamespace.YourClass.sourcefolder»);' при условии, что ваш встроенные файлы находятся в папке с именем пространства имен, которая называется 'sourcefolder' – WarrenB

+0

. Новая EmbeddedResourceFileSystem (typeof (BASECLASS) .Сборка, typeof (BASECLASS) .Namespace +" .public "); – Owre

 Смежные вопросы

  • Нет связанных вопросов^_^