草庐IT

set_relation

全部标签

c# - MemoryCache.Set() 是线程安全的吗?

MSDNdocumentationforMemoryCache.Set不幸的是没有明确说明它是否是线程安全的。在没有显式锁定的情况下从多个线程使用.Get()和.Set()是否安全? 最佳答案 是的,MemoryCache类isthreadsafe:System.Runtime.Caching.MemoryCacheisthreadsafe.MultipleconcurrentthreadscanreadandwriteaMemoryCacheinstance.Internallythread-safetyisautomatical

c# - 代码优先迁移 : How to set default value for new property?

我正在使用EF6在我的数据库中存储report类的实例。数据库已包含数据。假设我想向report添加一个属性,publicclassreport{//...somepreviousproperties//...newproperty:publicstringnewProperty{get;set;}}现在,如果我转到包管理器控制台并执行add-migrationReport-added-newPropertyupdate-database我将在“/Migrations”文件夹中获取一个文件,将newProperty列添加到表中。这很好用。但是,在数据库中的旧条目上,newPropert

c# - VS 2017 : The security debugging option is set but it requires the Visual Studio hosting process which is unavailable

我的解决方案(包含十几个项目)在VisualStudio2013中完美运行。在VisualStudio2017中,我可以打开解决方案并进行编译。但如果我开始调试,我会系统地收到此错误消息:ThesecuritydebuggingoptionissetbutitrequirestheVisualStudiohostingprocesswhichisunavailableinthisdebuggingconfiguration.Thesecuritydebuggingoptionwillbedisabled.Thisoptionmaybere-enabledintheSecuritypro

c# - 多线程场景调用Dictionary对象的set_item方法抛出NullReferenceException

我们的网站有一个配置页面,比如“config.aspx”,页面初始化的时候会从一个配置文件中加载一些信息。为了缓存加载的信息,我们提供了一个工厂类,并在页面加载时调用工厂的公共(public)方法来获取配置实例。但有时当应用程序池重新启动时,我们会在事件日志中发现一些错误消息,如下所示:Message:Objectreferencenotsettoaninstanceofanobject.Stack:atSystem.Collections.Generic.Dictionary`2.Insert(TKeykey,TValuevalue,Booleanadd)atSystem.Colle

C# 自动属性 ​​- 为什么我必须写 "get; set;"?

如果在C#自动属性中get和set都是强制性的,为什么我还要费心指定“get;set;”有没有? 最佳答案 因为你可能想要一个只读属性:publicintFoo{get;privateset;}或者只写属性:publicintFoo{privateget;set;} 关于C#自动属性​​-为什么我必须写"get;set;"?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3405

c# - SQL Express 连接字符串 : mdf file location relative to application location

我正在使用SQLExpress数据库作为c#单元测试项目的一部分。我的数据库位于此处:./Databases/MyUnitTestDB.mdf我想在app.config中使用相对路径或变量,而不是将连接字符串定义为:AttachDbFilename=C:\blah\blah\blah\yea\yea\yea\MyApplication\Databases\MyUnitTestDB.mdf我看到了|DataDirectory|的使用,但我认为这仅适用于Web应用程序是否正确?我想在应用程序配置文件中控制它,因为在生产中应用程序使用托管的sql数据库。 最佳答案

c# - WPF-MVVM : Setting UI control focus from ViewModel

在MVVM架构中设置控制焦点的最佳做法是什么。我设想的方式是在ViewModel上使用一个属性,该属性会在需要时触发焦点更改。而不是让UI控件绑定(bind)/监听该属性,以便在它发生变化时设置适当的焦点。我将其视为ViewModel事物,因为我想在ViewModel执行特定操作(例如加载特定数据)后适当设置焦点。最佳做法是什么? 最佳答案 按照此处答案中的建议使用IsFocused附加属性:SetfocusontextboxinWPFfromviewmodel(C#)然后您可以简单地绑定(bind)到View模型中的属性。

c# - Properties.Settings.Default 的数据保存在哪里?

在我的WPF应用程序中,我在解决方案资源管理器中单击Settings.settings并输入一个具有User范围的StringCollection变量:在我的app.config中,我看到它们保存在那里:onetwothreefourfivesixseven然后我运行我的应用程序并使用以下代码:StringCollectionpaths=Properties.Settings.Default.Paths;Properties.Settings.Default.Paths.Add("addedincode");Properties.Settings.Default.Save();fore

c# - 为什么 Property Set 会抛出 StackOverflow 异常?

我懂java,通常会使用getter/setter方法。我有兴趣使用以下代码在C#中执行此操作,但它会引发StackOverflow异常。我做错了什么?调用代码c.firstName="a";属性代码publicStringfirstName;{get{returnfirstName;}set{firstName=value;}} 最佳答案 这是因为您正在递归地调用该属性-在set中您再次设置该属性,它会一直无限直到您炸毁堆栈。您需要一个私有(private)支持字段来保存值,例如privatestringfirstName;pub

c# - VS2015 : warning MSB3884: Could not find rule set file

将我的WinFormsVS2013项目升级到VS2015后,我开始看到MSB3884“找不到规则集文件”警告。Google搜索找到了一篇MSDN文章,一篇StackOverflow文章以及许多其他网站都指向了这篇文章。类似问题:33020507MSDN:VS2015MSB3884Warning我同时安装了VS2013和VS2015。给出警告的项目文件(以及那些没有警告的项目文件)没有这些条目。如果我从项目文件中删除另外两个条目,那么问题就会消失,这很明显,因为没有规则文件集。我正在尝试使用msbuild在外部构建,但是VS2015也倾向于显示问题。有趣的是,如果我单击项目属性代码分析器