简单的注入器文档提供了有关如何为WebRequest,Web API,WCF设置容器的很好示例......但这些示例一次特定于一种技术/生活方式.我们的Web应用程序大部分使用它们!我不清楚如何配置容器以适应多种生活方式.
假设我有一个带有Web API的MVC项目.我有以下对象:
我应该为每种生活方式创建和配置一个容器吗?
当我注册的所有内容RegisterPerWebRequest<T>都适用于两种类型的控制器.这样安全吗?或者在Web API控制器中使用async/await时会遇到麻烦吗?
当我同时注入相同实例的MVC和Web API控制器时,最佳配置是什么?
我应该使用混合生活方式吗?
现在让事情变得复杂......我们的应用程序也使用后台任务和SignalR.
这些都有时会发生在WebRequest之外,并且需要访问如上所述的相同对象.
最好的解决方案是使用Lifetime范围?
我需要为这种生活方式创造一个新的容器吗?或者我可以重用/重新配置我的MVC/Web API容器吗?
有三重生活方式吗?
我想在我的网络项目中添加一个报告(.rdlc).我需要报告使用对象数据源,而不是直接连接到数据库.
我的问题是,当我运行"报表向导"或向报表添加新的数据集时,数据源配置向导 只允许我使用数据库.但是,在库项目中,数据源配置向导完全不同,并为我提供了多种选择.
我查看了Visual Studio 2013和2015(社区版)
当我将报表(.rdlc)添加到库项目和Web项目时,为什么我遇到了不同的行为?如何选择和/或添加对象数据源到我的Web项目?
我注意到的另一个不同之处是Project菜单:
在图书馆项目中我有"添加新数据源......"
但在网络项目中没有这样的事情......
我有一个Windows PowerShell脚本,可以将文件上传到我的Azure Blob存储.我希望文件只在容器中不存在时上传.
如何检查斑点是否已存在?
我厌倦了使用Get-AzureStorageBlob但是如果blob不存在,则会返回错误.我应该解析错误消息以确定blob不存在吗?这似乎不对......
并且Set-AzureStorageBlobContent在blob存在时要求确认.有没有办法自动回答"否"?此cmdlet没有-confirm,-force会覆盖该文件(我不想要).