我有一个SPA应用,我已经加载到我的/ wwwroot目录中,它有一个我想要默认加载的index.html文件。然后我想要正常的控制器文件工作。这是控制器应该运行的默认值。以下是我的创业公司。它确实呈现wwwroot / index.html但是/ api / values不起作用(除非我注释掉UseStaticFiles,然后index.html没有)。
如何同时加载index.html以及值控制器才能工作。
startup.cs
public void Configure(
IApplicationBuilder app)
{
DefaultFilesOptions options = new DefaultFilesOptions();
options.DefaultFileNames.Clear();
options.DefaultFileNames.Add("index.html");
app.UseDefaultFiles(options);
app.UseStaticFiles();
app.UseMvc();
}
值控制器......
[Route("api/[controller]")]
public class ValuesController : Controller
{
// GET api/values
[HttpGet]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
答案 0 :(得分:0)
以下似乎解决了我的问题。
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
DefaultFilesOptions options = new DefaultFilesOptions();
options.DefaultFileNames.Clear();
options.DefaultFileNames.Add("index.html");
app.UseDefaultFiles(options);
app.UseStaticFiles();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
}
为了测试它,我添加了wwwroot/index.html
和一个简单的/home/contact
控制器和视图类(没有/home/index
控制器或视图)。