草庐IT

桌面标记

全部标签

c# - Windows 服务与桌面应用程序之间的通信

我知道以前也有人问过类似的问题,但即使在谷歌搜索之后我仍然完全迷路了。我编写了一个小型Windows服务,它可以在后台线程中执行我的主应用程序使用执行的操作(出于多种原因将其移至单独的服务是有意义的)。当后台线程作为我的应用程序的一部分运行时,它会在每次完成工作时触发一个事件(在这种情况下更新数据库),我会使用该事件的时间戳来获取适当的信息以进行更新window。我认为具体细节不相关,但如果您需要更多详细信息,请告诉我。既然我已经将填充数据库的内容作为服务运行,问题就变成了:我如何替换过去由事件完成的内容?换句话说,将基本DateTime从我的服务传送到我的应用程序的最简单和/或最有效

c# - 为什么即使类被标记为 Obsoleted,这段代码仍能正确编译?

这是VisualStudio2008。显然与扩展的静态类有关。publicclassDummy{publicreadonlyintx;publicDummy(intx){this.x=x;}publicoverridestringToString(){returnx.ToString();}}[Obsolete("DoNotUse",true)]publicstaticclassExtensions{publicstaticintSquared(thisDummyDummy){returnDummy.x*Dummy.x;}}classProgram{staticvoidMain(str

c# - 如何在字符串比较中忽略 UTF-8 字节顺序标记?

我在使用VisualStudio2010的C#4.0单元测试中比较字符串时遇到问题。这个相同的测试用例在VisualStudio2008(使用C#3.5)中正常工作。这是相关的代码片段:byte[]rawData=GetData();stringdata=Encoding.UTF8.GetString(rawData);Assert.AreEqual("Constant",data,false,CultureInfo.InvariantCulture);调试此测试时,肉眼看来data字符串包含与文字完全相同的字符串。当我调用data.ToCharArray()时,我注意到字符串data

c# - 访问已处置的闭包 - 将方法标记为安全

这是关于ReSharper的警告“Accesstodisposedclosure”,通常出现在lambda中使用稍后处置的对象时。AccesstodisposedclosureinC#?对此进行了更详细的讨论。我的问题是:对于采用此类lamdb并立即执行它们的方法(因此您可以确保它们始终在处理所述对象之前执行):有没有办法将它们标记为安全的,以便使用该方法的任何代码都不会再产生这些警告?例子:using(varmyObject=newMyDisposableObject()){DoThisTwice(()=>myObject.DoSomething());}...voidDoThisT

c# - 是否可以在无需通过远程桌面连接的情况下运行编码的 UI 测试?

我正在尝试自动化编码的UI测试。我的测试Controller在远程测试服务器上启动测试,我通常通过远程桌面连接访问该服务器。是否可以在无需通过远程桌面连接的情况下运行编码的UI测试?目前,测试仅在我通过远程桌面连接时运行,并且窗口必须打开。当我关闭远程桌面session时,测试不会运行。如果没有远程桌面就无法运行编码的UI测试,我该如何通过远程桌面自动连接?谢谢 最佳答案 我在远程测试机上遇到了同样的问题,但我们的测试机运行在Hyper-V上。使用Hyper-V,解决方案只是通过Hyper-V而不是远程桌面连接进行连接,并且关闭Hy

c# - 为什么必须用属性 [serializable] 标记一个类?

因为您可以将任何文档转换为字节数组并将其保存到磁盘,然后将文件重建为其原始形式(只要您有其文件名等的元数据)。为什么必须用[Serializable]等标记一个类?这是否只是相同的想法,“元数据”类型信息,所以当您将对象转换为它的类时,事物会被正确映射? 最佳答案 二进制序列化非常强大,它可以在不运行构造函数的情况下创建类的实例,并且可以在您声明为私有(private)的类中设置字段。常规代码当然不能这样做。通过应用[Serializable]属性,您可以明确允许它扰乱您的隐私部分。并且您隐式地只将该权限授予BinaryFormat

c# - ASP.Net Inproc session 在 VS2012 中的标记更改后重新启动

我将我的开发机器升级到Windows8和VisualStudio2012。我正在本地IIS上测试我的ASP.Net应用程序(也已升级到.net4.5)。让我恼火的一件事是,在我上次的配置(Windows7、VS2010、.net4.0)中,InProcsession在更改标记文件后重新启动。示例:我登录到我的本地ASP.net应用程序,在*.ascx文件中进行并保存更改,刷新我的网络浏览器,然后session消失了。如何关闭session重启问题?编辑:我尝试使用新的VS2012Web应用程序项目模板重现该问题,删除了不必要的内容,但无法重现该问题。但是,在我的实际项目中,问题仍然存在

c# - 我应该如何编写 XML 注释以避免在摘要和返回标记之间重复自己?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion当方法的目的是计算一个值并返回它时,我发现自己将其记录如下://////Calculatesthewidgetcount.//////Thecontroltocalculatethewidgetcountof.///Thewidgetcount.这里的returns标签没有提供任何新信息:它只是重复summary中的内容。(异常(exception)是返回bool的方法,其中很容易解释tr

c# - 由于静态字段初始化的顺序,如何捕获或标记潜在问题

考虑以下C#代码:usingSystem;classProgram{staticstringstring1="AAA";staticstringstring2=string1+string3;staticstringstring3="BBB";staticvoidMain(){Console.WriteLine(string2);}}我今天早些时候写了一些这样的代码,并期望string2包含值AAABBB,但它只包含AAA。我阅读了一些有关静态变量初始化顺序的资料,但对我来说,编译期间会生成某种类型的警告或错误似乎更可取。两个问题:为什么允许这样的代码编译成功?(如果答案是:“因为C#

c# - 如何查看标记为 MethodImplOptions.InternalCall 的方法代码?

在使用ILSpy查看System.String的代码时,发现有一些标记为MethodImplOptions.InternalCall的方法,例如:[SecurityCritical][MethodImpl(MethodImplOptions.InternalCall)]internalstaticexternintnativeCompareOrdinalEx(stringstrA,intindexA,stringstrB,intindexB,intcount);我知道MethodImplOptions.InternalCall意味着此方法由公共(public)语言运行时native实现