Asp.Net核心RTM StaticFileMiddleware:如何传递IOptions <staticfileoptions>?

时间:2016-07-08 08:11:04

标签: c# asp.net-core asp.net-core-1.0

在我的团队中,我们将ASP.NET Core RC1 Web应用程序迁移到RTM。有一个自定义中间件,在内部创建StaticFileMiddleware的实例。在RC1中曾经是:

// ctor signature:
StaticFileMiddleware(RequestDelegate next, IHostingEnvironment hostingEnv,
  StaticFileOptions options, // <--
  ILoggerFactory loggerFactory);

我们可以轻松创建并传递StaticFileOptions的实例。现在RTM是:

// ctor signature:
StaticFileMiddleware(RequestDelegate next, IHostingEnvironment hostingEnv,
  IOptions<StaticFileOptions> options, // <--
  ILoggerFactory loggerFactory);

我不知道如何创建IOptions<StaticFileOptions>。实际上我不知道如何创建IOptions<T>,一般有T个实例。

Latest reference doc页面,尚未排在首位Google搜索结果,未提供任何提示。 StaticFileMiddleware上的搜索结果一般都很稀缺。

任何人都知道怎么办?这实际上阻止了我们继续迁移。 TA

1 个答案:

答案 0 :(得分:1)

Options命名空间中的静态Microsoft.Extensions.Options类似乎提供了IOptions<TOptions> Create<TOptions>(TOptions options)静态工厂方法。还没有运行,但至少它没有使构建失败。

BTW关注Asp.Net Core Options github issues和PRs在2月/ 3月(2016年)围绕这种使用模式进行了大量讨论。仅举几例:Is#122PR#757PR#719PR#124Issue #105带领我走向(希望)正确的方向。