草庐IT

is_net_socket

全部标签

c# - 通过 .NET 手动调用 COM 对象的方法

是否有手动方法在.NET的GAC中调用COM对象,而不将其添加为引用?我问的原因是我只知道如何在C#中编码并想调用.NETCOM对象并测试其CMO调用是否可见,但显然你不能将.NETCOM对象添加到.NET部件!因为你必须引用它,所以我想知道如果它通过c#代码手动注册到GAC中,你能调用它吗? 最佳答案 TypemyType=Type.GetTypeFromProgID("IMyLib.MyClass");objectobj=Activator.CreateInstance(myType);object[]args=newobjec

c# - 调试器可视化工具和 "Type is not marked as serializable"

我正在尝试创建一个调试器可视化工具,它会显示任何Control的控件层次结构。它已完成,但我收到异常“类型未标记为可序列化”。我该如何克服呢?控件是.NETWindows窗体框架类型,我无法将其标记为可序列化。 最佳答案 您还需要实现VisualizerObjectSource执行自定义序列化。例子:publicclassControlVisualizerObjectSource:VisualizerObjectSource{publicoverridevoidGetData(objecttarget,StreamoutgoingD

c# - 如何在 ASP.net web 应用程序中定义全局变量

我有一个要求,我希望客户端访问数据中心但不使用数据库,所以我希望我的网络应用程序可以保留一个包含数据的全局或应用程序session变量,每个客户端都可以访问相同的数据......我试图声明在golabl中,但似乎它只能存储String而不是其他...如何解决这个问题?谢谢。 最佳答案 另一种定义全局变量的方法是创建一个带有静态属性的静态类:publicstaticclassGlobalVariables{publicstaticstringMyGlobalVariable{get;set;}}如果您打算将其用作数据存储,则可以使它变

c# - 加载配置文件时如何修复 "Configuration system failed to initialize/Root element is missing"错误?

我在我的C#Windows应用程序中遇到了这个错误:“配置系统初始化失败”。它运行良好。突然我得到了这个异常(exception)。它将内部异常详细信息显示为“缺少根元素”。(C:\Users\company\AppData\Local\Clickbase_Corp_Sverige_AB\TouchStation.vshost.exe_Url_no1nets4fg3oy2p2q2pnwgulbvczlv33\1.1.0.12\user.config)”}。当我尝试从Settings.cs类获取值时会发生这种情况。在program.cs文件中写了下面的代码if(Properties.Se

c# - ASP.NET Response.Redirect( ) 错误

这是我的代码:try{Session["CuponeNO"]=txtCode.Text;txtCode.Text=string.Empty;Response.Redirect("~/Membership/UserRegistration.aspx");}catch(Exceptionex){strings=ex.ToString();lblMessage1.Text="ErrorOccured!";}我收到一个错误,即使它在捕获后重定向。这里是错误:"System.Threading.ThreadAbortException:Threadwasbeingaborted.\r\natSy

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

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

c# - 是否可以在 .Net 3.5 中制作通用控件?

我已经声明了以下通用用户控件:publicpartialclassMessageBase:UserControl{protectedTmyEntry;publicMessageBase(){InitializeComponent();}publicMessageBase(TnewEntry){InitializeComponent();myEntry=newEntry;}}}但是编译器不允许我这样做:publicpartialclassMessageControl:MessageBase{publicMessageControl(){InitializeComponent();}}如何

c# - .NET 内存大小

我有一个关于存储数据及其内存占用的非常基本的问题。我有一个List存储我需要的基础对象。类型t有一个intid来定义它,以及其他字段。我现在有一本字典。如果我创建一个Dictionary,其中t是值的对象,如果我创建Dictionary,内存分配会高得多吗?,即存储了t对象的副本,还是仅再次存储对t的引用?谢谢 最佳答案 这取决于T是什么。如果T是引用类型(即类),那么字典中只会存储一个引用。如果T是一个值类型(一个struct),那么将存储一个副本。 关于c#-.NET内存大小,我们在

c# - Lucene.Net 写/读同步

我可以在打开索引(使用IndexReader)时将新文档写入(使用IndexWriter)吗?还是必须在写作之前关闭阅读?当索引打开用于写入(使用IndexWriter)时,我可以在索引中读取/搜索文档(使用IndexReader)吗?还是我必须在阅读之前关闭写作?Lucene.Net线程是否安全?还是必须自己写? 最佳答案 您可以随时打开任意数量的阅读器/搜索器,但只能打开一个写入器。这是由目录特定的锁强制执行的,通常涉及名为“write.lock”的文件。读者打开快照,作者向索引添加更多数据。在您的作者提交(IndexWrite

c# - 在 .NET 中创建插件环境的最佳方式

我读了这篇文章Howtoloadpluginsin.NET?,我真的看不出微软的System.Addin命名空间有什么高明之处。为什么我不能在我的bin目录中有一个plugins文件夹,用户可以将一个程序集放入其中来实现我设计的界面?然后我可以只使用反射来创建插件类的实例,并在我的界面中引用它。为什么System.Addin方式明显好得多?尤其是因为它看起来像是三倍的工作量和不太直观的设计。 最佳答案 我建议查看ManagedExtensibilityFramework(已添加到.NET4的核心框架中)。它允许您完全按照您的描述进行