小编f0r*_*0rt的帖子

ConcurrentDictionary.GetOrAdd()是否保证每个键仅调用一次valueFactoryMethod?

问题:我需要实现对象缓存.缓存需要是线程安全的,需要按需填充值(延迟加载).通过密钥(缓慢操作)通过Web服务检索值.所以我决定用ConcurrentDictionaryGetOrAdd() ,有一个值的工厂方法假定操作是原子操作和同步的方法.不幸的是,我在MSDN文章中找到了以下语句:如何:在ConcurrentDictionary中添加和删除项:

此外,尽管ConcurrentDictionary的所有方法都是线程安全的,但并非所有方法都是原子方法,特别是GetOrAdd和AddOrUpdate.传递给这些方法的用户委托是在字典的内部锁之外调用的.

那很不幸,但仍然没有完全回答我的回答.

问题:每个键只调用一次工厂值吗?在我的具体情况中:是否有可能寻找相同密钥的多个线程产生多个请求到Web服务的相同值?

.net c# parallel-processing multithreading

23
推荐指数
3
解决办法
6654
查看次数

是否有用于管理与ASP.NET 5兼容的ASP.NET Identity用户/角色的UI?

我正在使用:

  • VS2015u2
  • ASP.NET 5
  • MVC 6

我正在寻找一些管理用户/角色的UI.

我试过的一些事情:

asp.net asp.net-core-mvc asp.net-identity-3

15
推荐指数
1
解决办法
5891
查看次数

如何在Azure Web应用程序上解决错误500?

是)我有的:

那么如何解决这个问题?我需要看到.net异常,但我不知道该怎么做.:)

azure azure-web-sites asp.net-mvc-5

14
推荐指数
3
解决办法
1万
查看次数

在生产服务器上运行EF迁移的最佳方法是什么?

是)我有的:

  • VS2015
  • ASP.NET 5 MVC 6项目
  • EF 7
  • 我项目的一些迁移
  • Azure网站
  • 我通过VS发布"Publish .."wizzard.

我需要的:

  • 我需要知道在生产数据库上运行迁移的最佳方法是什么.
  • 我更喜欢可以自动化的东西.最佳解决方案将集成在"发布"向导中.

笔记:

  • 我正在使用"dnx ef database update"在我的开发站上运行迁移.我想我可以使用webapp PS控制台,但......似乎不是正确的方法.

  • 我知道我可以为迁移生成一个SQL脚本,但这似乎太手动了.

  • 我记得"Publish"向导过去有"Execute EF migrations"选项.现在看不到它.

asp.net entity-framework ef-migrations asp.net-core-mvc

7
推荐指数
1
解决办法
900
查看次数

.NET do lambdas是否可以防止垃圾收集中使用的外部引用?

这是一个例子:

var task = Task.Run();
var func = () => task.Result;
Run Code Online (Sandbox Code Playgroud)

所以,如果我松开任务引用并保持func引用,GC将收集任务并使func抛出null引用异常?

.net c# lambda garbage-collection

6
推荐指数
1
解决办法
584
查看次数

MSBuild 项目与 PowerShell 构建过程

我必须完成以下任务:

  • 预构建设置(下载依赖项等)
  • 构建 .net 解决方案
  • 运行测试(单元测试和功能测试)
  • 生成文档
  • 生成nuget包
  • 符号输出

我可以通过创建 PS 构建过程(仅使用 msbuild 来编译解决方案)或带有目标的 MSBuild 项目(使用一些辅助 PS 脚本)来完成任务。PowerShell 更灵活,但 MSBuild 是一个构建框架,具有一些集成的构建相关功能。我想知道最好的方法是什么。请分享想法。

.net msbuild powershell build

5
推荐指数
1
解决办法
1242
查看次数

如何更改PowerShell默认模块安装文件夹?

有没有办法更改PowerShell模块安装文件夹(模块放置在Install-Module之后的文件夹)?这就是为什么我想这样做:

  • 我使用的是 Windows 10,PowerShell 5.1.17763.503
  • 我的默认安装文件夹是 Documents\WindowsPowerShell\Modules
  • 我的文档文件夹已移至包含,符号(公司政策)的位置
  • PS 有一个错误加载 .ps1,其中包含类并,在文件路径中具有(类似于此问题。)

我试过的:

  • 我认为安装文件夹是 $env:PSModulePath 中的第一个文件夹,我可以更改它。当我打开“编辑系统环境变量”时,我看到安装文件夹不在$env:PSModulePath. 当您启动 PowerShell 时,它会自动添加到变量中。

powershell

3
推荐指数
1
解决办法
3818
查看次数

.NET Core 调用 Encoding.GetEncoding() 挂起

我打电话给下面的线路。呼叫无限挂起。

Encoding.GetEncoding(1251);
Encoding.GetEncoding("Windows-1251");
Run Code Online (Sandbox Code Playgroud)

我正在使用:

  • VS 2017 15.7.2
  • dotnet --version > "2.1.201"
  • 视窗 10

.net .net-core

1
推荐指数
1
解决办法
2695
查看次数