小编Chr*_*ris的帖子

如何使用WebAPI,WCF,SignalR和后台任务在MVC Web应用程序中配置简单的注入器容器和lifestylse

简单的注入器文档提供了有关如何为WebRequest,Web API,WCF设置容器的很好示例......但这些示例一次特定于一种技术/生活方式.我们的Web应用程序大部分使用它们!我不清楚如何配置容器以适应多种生活方式.


假设我有一个带有Web API的MVC项目.我有以下对象:

  • MyDbContext:我的实体代码第一个db上下文
  • 由MyDataProvider实现的IMyDataProvider:包含查询逻辑并使用MyDbContext
  • MyController:使用IMyDataProvider的MVC控制器
  • MyApiController:使用IMyDataProvider的WebApi控制器

我应该为每种生活方式创建和配置一个容器吗?

当我注册的所有内容RegisterPerWebRequest<T>都适用于两种类型的控制器.这样安全吗?或者在Web API控制器中使用async/await时会遇到麻烦吗?

当我同时注入相同实例的MVC和Web API控制器时,最佳配置是什么?

我应该使用混合生活方式吗?


现在让事情变得复杂......我们的应用程序也使用后台任务和SignalR.

这些都有时会发生在WebRequest之外,并且需要访问如上所述的相同对象.

最好的解决方案是使用Lifetime范围?

我需要为这种生活方式创造一个新的容器吗?或者我可以重用/重新配置我的MVC/Web API容器吗?

有三重生活方式吗?

c# dependency-injection simple-injector

12
推荐指数
2
解决办法
3972
查看次数

无法使用数据源配置向导在Web项目中添加数据源

问题

我想在我的网络项目中添加一个报告(.rdlc).我需要报告使用对象数据源,而不是直接连接到数据库.

我的问题是,当我运行"报表向导"或向报表添加新的数据集时,数据源配置向导 允许我使用数据库.但是,在库项目中,数据源配置向导完全不同,并为我提供了多种选择.

我查看了Visual Studio 2013和2015(社区版)

问题

当我将报表(.rdlc)添加到库项目和Web项目时,为什么我遇到了不同的行为?如何选择和/或添加对象数据源到我的Web项目?

重现步骤:

  1. 创建一个新的"Asp.NET Web应用程序".我用了模板.
  2. 添加新项目:"报告向导"

然后将打开以下窗口: Web项目的数据源配置向导

  1. 将"类库"类型的新项目添加到同一解决方案中.
  2. 添加新项目:"报表向导"(到库项目)

现在我得到这个屏幕(那是我想要的网页项目中的屏幕): 库项目的数据源配置向导

我注意到的另一个不同之处是Project菜单:

在图书馆项目中我有"添加新数据源......"

项目菜单库项目

但在网络项目中没有这样的事情......

项目菜单Web项目

rdlc visual-studio visual-studio-2013 visual-studio-2015

10
推荐指数
2
解决办法
3902
查看次数

如何使用PowerShell检查Azure blob容器中是否已存在blob

我有一个Windows PowerShell脚本,可以将文件上传到我的Azure Blob存储.我希望文件只在容器中不存在时上传.

如何检查斑点是否已存在?

我厌倦了使用Get-AzureStorageBlob但是如果blob不存在,则会返回错误.我应该解析错误消息以确定blob不存在吗?这似乎不对......

并且Set-AzureStorageBlobContent在blob存在时要求确认.有没有办法自动回答"否"?此cmdlet没有-confirm,-force会覆盖该文件(我不想要).

powershell azure-powershell

5
推荐指数
2
解决办法
9030
查看次数