0

如果我直接在 my 中调用中间件startup.cs,例如:

public void Configure(IApplicationBuilder app)
{
    app.UseMiddleware<StaticFileMiddleware>();
    app.UseMiddleware<DefaultFilesMiddleware>();
}

查看GitHub 上的源代码,这正是扩展方法正在调用的代码。但是,我收到 500 错误和堆栈跟踪:

 :(
Oops.
500 Internal Server Error
System.InvalidOperationException
The 'Invoke' method's first argument must be of type 'HttpContext'.
at Microsoft.AspNetCore.Builder.<>c__DisplayClass3_0.<UseMiddleware>b__0(RequestDelegate next)
at Microsoft.AspNetCore.Builder.Internal.ApplicationBuilder.Build()
at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()

Show raw exception details

System.InvalidOperationException: The 'Invoke' method's first argument must be of type 'HttpContext'.
   at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass3_0.b__0(RequestDelegate next)
   at Microsoft.AspNetCore.Builder.Internal.ApplicationBuilder.Build()
   at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()

可能与我的No Static Files Extensions are referable问题有关。

无论哪种方式,我目前都无法index.html成功加载一个简单的页面。

有什么帮助吗?

谢谢

4

3 回答 3

2

您可能在项目中使用 RC1 版本的 StaticFiles 库,而不是 RC2。

project.json中,改变这个:

"dependencies": {
   "Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final"
}

对此:

"dependencies": {
   "Microsoft.AspNetCore.StaticFiles": "1.0.0-rc2-final"
}

命名空间也发生了变化,但一旦更正,您应该可以开始使用了。

于 2016-05-19T19:00:20.810 回答
1

从现在开始,asp.net core 1.0 已经发布。正确的 NuGet 包是:(注意:.AspNetCore。)

"Microsoft.AspNetCore.StaticFiles": "1.0.0"

你可以使用(再次)

app.UseStaticFiles();
于 2016-07-09T22:01:55.240 回答
0

你也可以打电话:

app.UseStaticFiles();
app.UseDefaultFiles();

而不是 UseMiddleware 方法。

于 2016-05-19T19:13:39.963 回答