草庐IT

进程注入

全部标签

c# - Unity【依赖】注入(inject)与继承

我的问题如下:我有一个名为ApplicationController的基本Controller(ASP.NetMVCController),我希望我的所有Controller都继承自它。这个基本Controller有一个ILogger属性,标有[Dependency]属性。(是的,我知道我应该使用构造函数注入(inject),我只是对这个属性感到好奇)。我创建了容器,注册了类型,更改了默认工厂,一切都很好。问题是当我尝试在派生Controller中使用我的Logger属性时,它没有得到解决。我做错了什么?为什么容器在创建派生Controller时不解析基类依赖?代码示例:应用程序Con

c# - 文件正在被另一个进程使用

我有一个大致执行此操作的程序:打开一个文件并从中读取。关闭文件启动文件观察器以观察文件中的更改。一旦检测到更改,filewatcher的EnableRaisingEvents标志就会设置为false,并且该过程从第1步开始重复。问题是,从第4步到第1步后,它无法读取文件,说它正被另一个进程使用。我收到的错误:未处理的异常:System.IO.IOException:进程无法访问文件“c:\test.xml”,因为它正被另一个进程使用。怎么了?我的程序第1步中的读取器是否仍然打开文件,或者是某个完全不同的进程访问该文件,还是filewatcher在从4移至第1步后仍在监视文件,尽管将标志

c# - 在 C# .NET 中启动和停止进程

我正在尝试编写一个简单的程序,它有两种方法,一种启动进程,另一种关闭同一进程。如:publicProcessStartProc(stringprocname){Processproc=newProcess();proc.StartInfo.FileName=procname;proc.Start();returnproc;}publicvoidStopProc(Processproc){proc.Close();}这样可以吗? 最佳答案 是的,你所追求的方法叫做Kill,而不是关闭:publicvoidStopProc(Proces

c# - 如何使用 Unity 从配置文件注入(inject)构造函数参数

假设我们有一个类publicclassMyClass{privatestring_val;publicMyClass(stringval){_val=val;}}和app.config(或web.config)有没有办法在Unity容器中注册类型MyClass并指向Unity从配置文件中为val构造函数参数注入(inject)值? 最佳答案 这很容易。C#代码:varcontainer=newUnityContainer();container.LoadConfiguration();MyClassmc=container.Reso

c# - 杀死远程机器上的进程

我正试图终止远程机器上的进程。但我得到错误。我做错了什么,我该如何解决这个问题?我的代码:variu=newImpersonateUser();try{iu.Impersonate(Domain,_userName,_pass);foreach(varprocessinProcess.GetProcessesByName("notepad","RemoteMachine")){stringprocessPath=pathToExe;//Issetasconstant(andiscorrect)process.Kill();Thread.Sleep(3000);Process.Start

c# - 检索进程描述信息

我正在尝试检索进程信息并且我知道我可以使用:Process[]myProcesses=Process.GetProcesses();但是如何检索过程描述?是通过某些Win32API调用吗?我运行的是Vista,当我在任务管理器中单击“进程”选项卡时,我看到了描述。 最佳答案 您在任务管理器中看到的实际上是可执行镜像的描述字段。您可以使用GetFileVersionInfo()和VerQueryValue()WinAPI调用来访问各种版本信息,例如公司名称或文件说明。对于.Net方式,使用FileVersionInfo的FileDes

c# - 基类中的构造函数依赖注入(inject)

我正在使用EntityFramework构建一个存储库基类,其中所有实体存储库都将继承。我想使用Ninject使用依赖注入(inject)将DatabaseContext注入(inject)基类。我认为构造函数注入(inject)是正确的方法,但是在派生类中使用构造函数注入(inject)来执行此操作我将必须将参数传递给基类中的构造函数,但我不希望这样做。因此,Setter注入(inject)更合适?这是我的代码:publicabstractclassBaseRepository:IDisposablewhereTEntity:class{privatereadonlyDatabase

c# - 无论如何在生成进程时指定 PrintTo 打印机?

我有什么我目前正在编写一个程序,它接受一个指定的文件并对其执行一些操作。目前它打开它,和/或将它附加到电子邮件并将其邮寄到指定地址。文件可以是以下格式:Excel、ExcelReport、Word或PDF。我目前正在做的是使用文件路径生成一个进程,然后启动该进程;然而,我也在尝试修复我添加的bug功能,该功能将动词“PrintTo”添加到启动信息中,具体取决于指定的设置。我需要什么我要完成的任务是我想打开文档,然后将其自身打印到程序本身指定的指定打印机。之后,文件应该会自动关闭。如果没有办法通用地执行此操作,我们也许可以想出一种方法来为每种单独的文件类型执行此操作。你需要什么这是我使用

c# - 如何将多个参数传递给 C# .net 中新创建的进程?

如何在C#中将多个参数传递给新创建的进程?在传递多个参数的情况下,我应该在执行程序时使用哪个类(Process或ProcessStartInfo或MyProcess)到新创建/执行的进程?因为我有相同任务的等效(Borland)C++代码,如下所示:spawnv(P_NOWAITO,Registry->ReadString("Downloader").c_str(),arglist);其中arglist是一个字符指针数组,并且Registry->ReadString("Downloader").c_str(),就是要执行的程序。 最佳答案

c# - 我应该避免使用依赖注入(inject)和 IoC 吗?

在我的中型项目中,我为存储库、服务等使用了静态类,它实际上工作得很好,即使大多数程序员的期望相反。我的代码库非常紧凑、干净且易于理解。现在我尝试重写所有内容并使用IoC(控制反转),但我非常失望。我必须在每个类、Controller等中手动初始化许多依赖项,为接口(interface)添加更多项目等等。我真的没有看到我的项目有任何好处,而且似乎它造成的问题多于解决的问题。我在IoC/DI中发现了以下缺点:更大的代码量馄饨代码而不是意大利面条代码性能较慢,即使我要调用的方法只有一个依赖项,也需要在构造函数中初始化所有依赖项不使用IDE时更难理解一些错误被推送到运行时添加额外的依赖(DI框