1

I have been looking over the web and still no luck, hence why I am asking. I have a WEB API 4.6 project that will also be home to an angularjs2 application, I have set up to use static files like this:

 var physicalFileSystem = new PhysicalFileSystem(@".\wwwroot\");
        var options = new FileServerOptions
        {
            EnableDefaultFiles = true,
            FileSystem = physicalFileSystem,
        };
        var contentTypes = new FileExtensionContentTypeProvider();

        options.StaticFileOptions.FileSystem = physicalFileSystem;
        options.StaticFileOptions.ServeUnknownFileTypes = true;
        options.StaticFileOptions.ContentTypeProvider = contentTypes;
        options.DefaultFilesOptions.DefaultFileNames = new[] { "index.html" };
        options.EnableDirectoryBrowsing = true;
        app.UseFileServer(options);

index.html is served, when index.html tries to fetch all the files(.css.js) a 404 error shows up in the console. I have enabled directory browsing and I see that the files are there.

2
  • Just curious! why would you need above code for handling the static files ? The MVC project that I run does have a MVC application, WebAPI endpoints and Angular JS static files. Everything seem to work without above code. Commented Jun 5, 2016 at 22:30
  • 1
    i am not using mvc, i have a separete project for the angularjs2 and i only want to have a build of it under wwwroot Commented Jun 5, 2016 at 22:49

2 Answers 2

3

I found that my code works well, I had to just add the following code to my web.config file.

<system.webServer>
<handlers>
  <remove name="StaticFile"/>
  <add name="Owin" verb="" path="*" type="Microsoft.Owin.Host.SystemWeb.OwinHttpHandler, Microsoft.Owin.Host.SystemWeb"/>
</handlers>

found the answer here. I believe this could be marked as a duplicate or deleted.

Sign up to request clarification or add additional context in comments.

2 Comments

Are you on Asp.Net 5/ core?
No, I am using 4.6.
2

Instead of using OWIN you can accomplish your goal of serving static files from ~/wwwroot with a web.config setting (URL rewrite) found here.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.