Мое приложение работает в Azure Service Fabric. В моем приложении я использую asp.net web api с angularJS как интерфейс. Мой веб-api - это собственный хост с OWIN/Katana, и это отлично работает.Статический файловый сервер с OWIN -> файлы не найдена ошибка
Чтобы обслуживать статические файлы для клиента, я использую статический файловый сервер OWIN. Чтобы использовать файловый сервер, я принял конфигурацию из примеров Service Fabric.
public void Configuration(IAppBuilder appBuilder)
{
HttpConfiguration httpConfig = this.ConfigureWebApi();
FileServerOptions fileServerOptions = this.ConfigureFileSystem(appBuilder);
appBuilder.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
appBuilder.UseWebApi(this.ConfigureWebApi());
appBuilder.UseFileServer(fileServerOptions);
}
private FileServerOptions ConfigureFileSystem(IAppBuilder appBuilder)
{
PhysicalFileSystem physicalFileSystem = new PhysicalFileSystem(@".\wwwroot");
FileServerOptions fileOptions = new FileServerOptions();
fileOptions.EnableDefaultFiles = true;
fileOptions.RequestPath = PathString.Empty;
fileOptions.FileSystem = physicalFileSystem;
fileOptions.DefaultFilesOptions.DefaultFileNames = new[] { "index.html" };
fileOptions.StaticFileOptions.FileSystem = fileOptions.FileSystem = physicalFileSystem;
fileOptions.StaticFileOptions.ServeUnknownFileTypes = true;
return fileOptions;
}
Каталог файлов выглядит следующим образом:
wwwroot
--+ app
----+ content
------+ css
-------- site.css
----+ bower_components
------+ angular
-------- angular.min.js
----- app.js
--- index.html
Все эти файлы также в Bin/Debug/папки после сборки. Когда я открываю адрес http://localhost:80/
в браузере, я получаю файл index.html
. Но все остальные файлы, кроме http://localhost:80/app/app.js
, не найдены.
Ссылки в index.html выглядеть следующим образом:
<link href="app/content/css/site.css" rel="stylesheet" />
<script src="app/bower_components/angular/angular.min.js"></script>
<script src="app/app.js"></script>
Я пробовал много других конфигураций, но это не сработало. Что-то не так, чего я не вижу?