小编Pat*_*ick的帖子

如何在c#中实现通用缓存管理器

我正在尝试实现通用缓存管理器,但是我不确定如何进行锁定.

到目前为止我有以下内容,但是如果我有两个具有相同返回类型的缓存条目,那么我猜测将使用相同的锁对象!

public class CacheManager : ICacheManager
{
    static class TypeLock<T>
    {
        public static readonly object SyncLock = new object();
    }
    private readonly ICache _cache;
    public CacheManager(ICache cache)
    {
        if (cache == null)
            throw new ArgumentNullException("cache");

        _cache = cache;
    }

    public TResult AddCache<TResult>(string cacheKey, Func<TResult> acquire, int cacheDurationInMinutes) where TResult : class
    {
        return AddCache(cacheKey, null, acquire, cacheDurationInMinutes);
    }

    public TResult AddCache<TResult>(string cacheKey, CacheDependency dependency, Func<TResult> acquire, int cacheDurationInMinutes) where TResult : class
    {
        var entry = acquire.Invoke();
        if (entry …
Run Code Online (Sandbox Code Playgroud)

c# generics locking

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

根据条件编译符号更改exe的名称

您是否可以告诉Visual Studio输出不同的exe文件名,具体取决于是否设置了特定的条件编译符号?

c# msbuild conditional-compilation visual-studio

9
推荐指数
2
解决办法
9118
查看次数

设计器在加载表定义时遇到错误?

我对Visual Studio 2012 Ultimate有疑问.

我插入了一个"Sql Server数据库",当我尝试"添加新表"一段时间后,我遇到了这个问题

设计人员在加载表定义时遇到错误

和"错误列表"中的两个错误

  1. 无法检索目标数据库架构.无法重新连接到数据库.

  2. 无法从数据库(LocalDB)\ v11.0.C:\ USERS\SRDJAN\DOCUMENTS\VISUAL STUDIO 2012\WEBSITES\WEBSITE3\APP_DATA\DATABASE.MDF获取架构信息.
    请关闭此数据库的所有打开的编辑器,检查与此数据库的连接,并在服务器资源管理器中刷新数据库.C:\ USERS\SRDJAN\DOCUMENTS\VISUAL STUDIO 2012\WEBSITES\WEBSITE3\APP_DATA\DATABASE.MDF

我该怎么做才能让这个工作?

图片

c# visual-studio visual-studio-2012

9
推荐指数
2
解决办法
2万
查看次数

在Java中使用3个类加载器的原因是什么?

Java有3个类加载器:

  • 自举,
  • 扩展和
  • 系统

他们有一个角色; 从不同的包加载类.

但是为什么Java有3个不同的类加载器而不是只有一个,因为一个类加载器可以加载所有必需的类?

java classloader

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

使用wrap检测TextBlock中的换行符数量?

有没有办法检测文本块中的换行符数TextWrapping="Wrap"

我正在考虑使用非等宽字体.我需要这个,因为我正在创建一个新的,个性化的MessageBox窗口,它有一个大文本标题,动画,我的应用程序的徽标和我的应用程序的主题.

很明显,我需要根据正文消息的LineBreak数量来改变窗口的大小 - 类似于默认MessageBox窗口的行为方式.

c# wpf xaml textblock word-wrap

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

从WinAPI获取文件,文件夹或驱动器中的关联图标

有没有办法在不使用任何DllImports的情况下在C#中获取关联图标?

当我使用Icon.ExtractAssociatedIcon时,我似乎没有得到驱动器,文件夹,环境中的SpecialFolder或网络附加文件夹上的任何文件的图标.那么还有其他方法可以使用.NET获取图标吗?

.net c# icons

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

通用SQL构建器.NET

我正在寻找一种在C#中编写一个针对不同提供者的SQL语句的方法.SQL语句区分的典型示例是PostgreSQL中LIMITMSSQL中的TOP.

是解决SQL语法的唯一方法,如上面两个,根据用户选择的提供者或使用try catch语句作为流控制来编写if语句(LIMIT不起作用,我会尝试使用TOP)?我已经看过LINQ Take方法,但我想知道如果没有LINQ可以做到这一点吗?

换句话说,C#是否有一些我无法找到的通用SQL Provider类可以使用?

.net c# sql sqlbuilder

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

将击键组合发送到背景窗口

经过对Stackoverflow和google的大量研究后,似乎很难使用它的句柄将击键组合发送到后台窗口.例如,我想发送CTRL + F.似乎Sendmessage不起作用,并且sendinput无效,因为窗口需要焦点.

所以我最后的想法是关于挂钩:无论如何使用这种方式发送组合?

c# hook

7
推荐指数
2
解决办法
2万
查看次数

Windows Metro App中缺少XPath

有一种简单的方法可以在Windows 8 metro应用程序中对XML执行XPath查询吗?System.Xml.XPath在用于创建metro应用程序的.NET框架中不存在,并且在尝试使用HTMLAgilityPack后,我也无法取得任何进展.

有没有简单的方法来执行这些查询?

c# xpath windows-8

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

无法读取undefined angular2 ngif的属性

我现在能够在视图中获取对象但是我无法运行if语句.根据之前的回答,这就是我引入对象的方式.

public getPosts$(category, limit) {
  return this.cartService.getPosts(category, limit).map(response => {
    return response && response.data && response.data.children;
  };
}

ngOnInit() {
  this.getPosts$(this.category, this.limit).subscribe(cart => {
    this.cart = cart;
  }
}
Run Code Online (Sandbox Code Playgroud)

我想跑,但得不到财产蔬菜.

<h2 *ngIf="cart">{{cart.vegetable}}</h2>
<h2 *ngIf="cart.vegetable == 'carrot' ">{{cart.vegetable}}</h2>
Run Code Online (Sandbox Code Playgroud)

错误是

无法读取未定义的属性'vegtable'

javascript ionic-framework ionic2 angular

7
推荐指数
2
解决办法
5787
查看次数