草庐IT

可用的

全部标签

c# - DataAnnotations 命名空间中的 Enum 值是否有开箱即用的验证器?

C#枚举值不仅限于其定义中列出的值,还可以存储其基类型的任何值。如果未定义基类型,则使用Int32或仅使用int。我正在开发一个WCF服务,它需要确信某些枚举已经分配了一个值,而不是所有枚举的默认值0。我从一个单元测试开始,以确定[Required]会在这里做正确的工作。usingSystem.ComponentModel.DataAnnotations;usingXunit;publicenumMyEnum{//Ialwaysstartfrom1inordertodistinctfirstvaluefromthedefaultvalueFirst=1,Second,}publiccl

C# ASP.NET : how to access cache when no HttpContext. 当前是否可用(为空)?

期间Application_End()在Global.aspx中,HttpContext.Current为空。我仍然希望能够访问缓存-它在内存中,所以想看看我是否可以以某种方式引用它以将位保存到磁盘。问题-当HttpContext.Current为null时,有没有办法以某种方式引用内存中的缓存?也许我可以创建一个全局静态变量来存储指向缓存的指针,我可以根据HTTP请求更新它(伪:"static"=HttpRequest.Current)并通过Application_End()中的该指针检索对缓存的引用?有没有更好的方法在没有HttpRequest的情况下访问内存中的Cache?

在未引用的程序集中定义的 C# 类型

我有两个项目A和B。项目A在项目B中使用了类型X,因此我在A中添加了对B的引用。一切都很好。我使用强命名key文件签署了项目B。一切仍然很好。然后我决定更改B的强命名key文件。我重建项目Bok。当我尝试构建项目A时收到错误“错误1​​类型X在未引用的程序集中定义。您必须添加对程序集B的引用,版本=1.0.0.0,文化=中性,PublicKeyToken=95b41b0d6571627b”。"所以我删除了项目A中的引用,然后再次将其添加回去,没有任何乐趣。我可以dbl单击项目A中的项目B引用,打开对象浏览器并在其中查看类型X。我还完全限定了A中的X类型对象,智能感知很好地识别了它们,但

c# - 确定互联网连接是否可用

我知道我不是第一个问这个问题的人:我如何知道我的申请是否在线?我找到了这篇文章:StackOverflow.我想用C#和.NET3.5来完成。建议定期对资源执行ping操作。我对这个建议不是很满意。我宁愿检测网络变化,然后ping我的服务以检查它是否在线。.NET为此提供了两个事件:NetworkChange.NetworkAvailabilityChangedNetworkChange.NetworkAddressChanged第一个事件听起来不错,但只有在最后一个在线的网卡离线时才会触发。我有几个由VMWare安装的虚拟网卡,它们始终在线。第二个事件有效,但在插入网络电缆和事件之间

c# - EntityFramework 是否可用于 Windows 8 商店应用程序?

EntityFramework是否可用于Windows8商店应用程序?我正在使用适用于Windows8的VisualStudio2012Express。我开始怀疑,因为我无法让它发挥作用。我从NuGet安装了EntityFramework包我在项目中添加了System.Data.Entity和System.Data.Design但无论我做什么,DbContext都无法识别...有什么想法吗?编辑:EntityFramework不适用于Windows应用商店应用。我不明白微软在这方面的立场,他们很烂。另一种解决方案是使用SQLite,但它不是ORM。那有什么意义呢?

c# - 是否有任何有值(value)的 CSLA 替代品可用?

我的公司有兴趣将大型业务应用程序移植到.NET。我们计划开发桌面版和silverlight版。我主要研究了CSLA框架(得到了rocky的书,已经读了一半)并发现它有点过度设计,数据层方面似乎也没有那么完善。有没有其他框架声称可以做CSLA正​​在做的事情?我不是在谈论ORM工具(例如L2S、EF、NHibernate)。我感兴趣的是支持业务规则的框架、简单的n层架构、对象是域驱动的而不是数据库驱动的、业务对象的安全性等...我知道我可以找到小型框架来完成一些所需的工作(我想到了EnterpriseApplicationBlock),但我正在寻找一个包含所有内容的框架。

c# - 在构建服务器上注册 COM 引用的 DLL

我们正在开发引用一些COM库(例如AutoIT)的C#应用程序。我在第3方“Libs”文件夹中包含了源代码管理下的所有引用组件。问题是COMdll在.csproj文件中没有HintPath属性,我认为这些必须使用regsvr32(或使用某种脚本)手动注册。我目前正在研究创建一个将在每次构建之前运行的MSBuild脚本,但是我不知道我是应该手动调用regsvr32.exe还是使用一些预定义的MSBuild任务?目前,这是我尝试进行的测试:这会产生错误,指出我放置在给定文件夹中的DLL不是有效的DLL。这个问题有什么好的解决方案?编辑:引用COMdll的项目在.csproj文件中有类似的内

c# - 静态成员变量是否对所有 C# 泛型实例化都是通用的?

在C#中我有一个泛型类:publicclassMyGenericwhereParameterClass:MyGenericParameterClass,new(){publicstaticintVariable;}现在在C++中,如果我用不同的参数实例化一个模板类,每个完整的类都会得到它自己的Variable,所以Ijustcan'tsayMyGeneric.Variable=1;//invalidinC++在C++中,但似乎我可以在C#中这样做。我想澄清...如果我有一个带有静态成员变量的泛型,该变量是否在所有泛型实例化之间共享? 最佳答案

c# - Cortana API 是否可用于桌面应用程序?

我想使用新的Cortana引擎在Windows10上开发Windows应用程序。不幸的是,据我所知,它似乎只适用于WindowsPhone8.1项目(例如,我没有找到从不同类型的VisualStudio项目访问Windows.Media.SpeechRecognition命名空间的方法).我也找不到好的API文档,只能找到一些非常简单的示例。编辑:根据PeterTorr的回答,我写了一些代码。我已经能够识别一些单词,但是当引擎尝试识别一些简单的单词(如“你好”)时似乎遇到了困难,而Cortana成功识别了它。我做错了什么吗?publicstaticclassSpeechSyntheti

c# - 在 C# 中确定引用的 dll 文件版本

我有一个C#解决方案,它引用了我从另一个C#解决方案创建的dll。使用Application.ProductVersion可以很容易地确定我的解决方案的产品版本。但是,我真正需要的是一种在我的程序中分别确定exe和dll文件版本的方法。我想在我的关于对话框中显示dll和exe的文件版本。执行此操作的代码是什么样的? 最佳答案 最简单的方法是,如果您知道引用程序集中的类型:AssemblyNamename=typeof(MyCompany.MyLibrary.SomeType).Assembly.GetName();Assembly.