创建一个使用其他MVC库的.NET标准库



我正在尝试创建一个.NET Standard 2.0库,该库将由多个MVC应用程序使用,这些应用程序可能是.NET Framework或.NET Core。这个特定的库应该将数据导出为excel文件。要做到这一点,我需要使用FileContentResult,它是Microsoft.AspNetCore.Mvc(核心(的一部分。我没有安装此库的Framework版本的选项。

我该如何在.NET标准库中实现FileContentResult,以便它能在Core或Framework应用程序中工作?

您的库不应该使用类似FileContentResult的东西。单一责任原则规定,它应该只处理与其目的实际相关的功能,即根据某组数据创建excel文件。然后,您可以将其作为Stream从库中返回。

那么,无论是什么,使用您的库都将决定如何处理Stream。在ASP.NET Core应用程序的情况下,您可能会将其作为FileStreamResult返回。在另一种情况下,您可能会将其写入文件系统,或将其作为电子邮件的附件添加,等等。将其绑定到一个狭窄的场景中,例如从web应用程序返回文件作为响应,会限制库的可用性。

总之,你的问题的答案基本上是你一开始就不需要这样做。让你的库专注于它实际负责的内容,你不需要这些类型的依赖关系。

我不明白为什么需要使用FileContentResult。只需进行处理并在库中返回一个字节数组。在MVC应用程序中,调用此方法并创建一个FileContentResult

在这种情况下使用抽象而不是具体类型。您也可以返回一个Stream或定义自己的抽象。

相关内容

  • 没有找到相关文章

最新更新