在过去,我通过让所有控制器继承公共基本控制器,以全局方式将常见属性(例如当前用户)粘贴到ViewData/ViewBag上.
这使得我可以在基本控制器上使用IoC,而不仅仅是为这些数据扩展到全局共享.
我想知道是否有另一种方法将这种代码插入MVC管道?
在NuGet之前,检查项目中使用的所有外部DLL是常见的"最佳实践".通常在一个Libs或3rdParty目录中.
在使用NuGet时,我是否应该在packages目录中办理登机手续,或者有没有办法让MSBuild从nuget Feed自动下载所需的软件包?
我正在试图弄清楚如何在Send-MailMessagegmail中使用PowerShell V2 .
这是我到目前为止所拥有的.
$ss = New-Object Security.SecureString
foreach ($ch in "password".ToCharArray())
{
$ss.AppendChar($ch)
}
$cred = New-Object Management.Automation.PSCredential "uid@domain.com", $ss
Send-MailMessage -SmtpServer smtp.gmail.com -UseSsl -Credential $cred -Body...
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
Send-MailMessage : The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1 Authentication Required. Learn
more at
At foo.ps1:18 char:21
+ Send-MailMessage <<<< `
+ CategoryInfo : InvalidOperation: (System.Net.Mail.SmtpClient:SmtpClient) [Send-MailMessage], SmtpException
+ FullyQualifiedErrorId : SmtpException,Microsoft.PowerShell.Commands.SendMailMessage
Run Code Online (Sandbox Code Playgroud)
我做错了什么,或者还Send-MailMessage没有完全出炉(我在使用CTP 3)?
一些额外的限制
我的电脑正坐在路由器/防火墙后面.如何以编程方式找出我的外部IP地址.我可以使用http://www.whatsmyip.org/进行临时查询,但TOS不允许自动检查.
有任何想法吗?
我想在我的WPF应用程序中开始使用依赖注入,主要是为了更好的单元可测试性.我的应用程序主要是按照MV-VM模式构建的.我正在为我的IoC容器看autofac,但我认为这对于这个讨论来说并不重要.
将服务注入启动窗口似乎很简单,因为我可以在App.xaml.cs中创建容器并从中解析它.
我正在努力的是如何将DI ViewModels和服务转化为用户控件?用户控件通过XAML标记实例化,因此没有机会Resolve().
我能想到的最好的方法是将容器放在Singleton中,让用户控件从全局容器中解析它们的ViewModel.这感觉就像是一个中途解决方案,充其量,因为它仍然需要我的组件依赖于ServiceLocator.
WPF可以完全使用IoC吗?
[编辑] - 有人建议使用Prism,但即使是对Prism进行评估也似乎是一笔巨大的投资,我希望能有更小的东西
[编辑]这是我停止的代码片段
//setup IoC container (in app.xaml.cs)
var builder = new ContainerBuilder();
builder.Register<NewsSource>().As<INewsSource>();
builder.Register<AViewModel>().FactoryScoped();
var container = builder.Build();
// in user control ctor -
// this doesn't work, where do I get the container from
VM = container.Resolve<AViewModel>();
// in app.xaml.cs
// this compiles, but I can't use this uc,
//as the one I want in created via xaml in the primary window
SomeUserControl uc = new SomeUserControl(); …Run Code Online (Sandbox Code Playgroud) wpf design-patterns dependency-injection inversion-of-control autofac
是Visual Studio设置的任何MSBuild属性吗?我希望有一些条件行为取决于visual studio的版本(如果有的话).
是否可以从MSBuild项目中获取所有输出文件的列表?
在一个简单的项目中,我可以做类似的事情
<CreateItem Include="$(OutputDir)**\*">
<Output ItemName="AllOutputs" TaskParameter="Include"/>
</CreateItem>
Run Code Online (Sandbox Code Playgroud)
但我的项目是更大版本的一部分,所有输出都转到一个共同的位置,我希望能够排除不属于的dll和内容.
有任何想法吗?
有时,我最终会检查一个文件到我不想要的TFS数据库.对于我目前的方法,恢复到先前版本是相当繁琐的.
如果有一种快速方法可以将文件恢复到TFS中的先前版本?我对命令行,powertool或UI方法持开放态度.
将List转换为Hashtable的最佳方法是什么?
说我有一个像这样的清单 ("Key",$value,"Key2",$value2)
将它转换为Hashtable的最短语法是什么?
我已经在我的Windows PC上安装了nodejs.它工作正常.但是当我尝试使用"npm install jsdom"安装jsdom时,我被这个错误提示.
节点"C:\ Program Files \nodejs \node_modules \npm\bin \node-gyp-bin\.... \node_modules \node-gyp\bin \node-gyp.js"重建信息,如果它以ok结束它是否有效
呃!错误:似乎没有
在Object.oncomplete(C:\ Program Files)的failNoPython(C:\ Program Files \nodejs \node_modules \npm \node_modules \node-gyp\lib\configure.js:78:14)中安装Python \的NodeJS \node_modules\NPM \node_modules \节点-GYP\lib中\ configure.js:66:11)ERR!不行
npm WARN可选依赖失败,继续contextify@0.1.2
jsdom@0.2.13 ./node_modules/jsdom
+ - cssom@0.2.3 + - htmlparser@1.7.5
有人可以帮我解决这个问题吗?