小编Cap*_*mic的帖子

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

有关使用Monitor.TryEnter和锁定对象的问题

请考虑以下函数,该函数仅实现对一个线程的非阻塞访问.

public bool TryCancelGroup()
{
    if (Monitor.TryEnter(_locked))
    {
        if (_locked == false)
        {
            _locked = true;

            try
            {
                // do something
            }
            catch (Exception ex)
            {
                _locked = false;
            }
            finally
            {
                Monitor.Exit(_locked);
            }
        }
        return _locked;
    }
    else
    {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是_locked变量的定义方式.

bool _locked = false;
Run Code Online (Sandbox Code Playgroud)

现在,当程序到达时,Monitor.Exit(_locked);它会抛出一个System.Threading.SynchronizationLockException说明_locked变量之前未同步的说法.

当_locked变量被定义为对象之前,这一切都在起作用

object _locked = new object();
Run Code Online (Sandbox Code Playgroud)

当我将它更改为bool以便将其用作布尔标志时,我开始得到此异常.

.net c# multithreading locking

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

编译错误.在struct中使用属性

请解释struct构造函数的以下错误.如果我将struct更改为class,那么错误就会消失.

public struct DealImportRequest
{
    public DealRequestBase DealReq { get; set; }
    public int ImportRetryCounter { get; set; }

    public DealImportRequest(DealRequestBase drb)
    {
        DealReq = drb;
        ImportRetryCounter = 0;
    }
}
Run Code Online (Sandbox Code Playgroud)
  • 错误CS0188:在分配所有字段之前,不能使用'this'对象
  • 错误CS0843:在将控制权返回给调用者之前,必须完全分配自动实现的属性"DealImportRequest.DealReq"的备份字段.考虑从构造函数初始化程序中调用默认构造函数.

c# language-features struct compiler-errors

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

需要从SVN取消绑定本地文件夹

我正在使用TortoiseSVN

我将一些文件导入服务器.然后我从服务器删除了所有导入的文件.但我在Windows资源管理器中的文件夹显示SVN图标.我该怎么删除它?

在此输入图像描述

svn tortoisesvn

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

在文本区域中的光标位置之后插入文本

下面的脚本将文本插入文本区域的末尾.我需要更改为在文本区域中当前光标位置之后插入文本.

jQuery(document).ready(function($){
    $('#addCommentImage').click(function(){
        var imageLoc = prompt('Enter the Image URL:');
        if ( imageLoc ) {
            $('#comment').val($('#comment').val() + '[img]' + imageLoc + '[/img]');
        }
        return false;
    });
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery textarea

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

如何快速保存/加载类实例到文件

我的应用程序中有几个类/结构集合.

该类只是一个带字段的类

class A
{
  public int somevalue;
  public string someothervalue
}
Run Code Online (Sandbox Code Playgroud)

还有我的收藏

List<A> _myList;
Run Code Online (Sandbox Code Playgroud)

我需要能够保存_myList并加载.我只想将所有类字段保存到文件和加载.我不想花时间写自己的保存/加载..NET中是否有任何工具可以帮助我.我不关心文件格式.

.net c# serialization file

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

在异常和返回值之间进行选择

我创建了一个从文件中解析一些文档的类.

class Parser
{
  public Parse(string fileName)
  {
    ///
  }
}
Run Code Online (Sandbox Code Playgroud)

有时可能会出现解析错误,解析器必须返回某些数据.我为此创建了特殊课程.

class ParsingError
{
 // some data
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能正确处理这些错误.我至少有两个选择:

创建我自己的异常或返回值.

方案一

myParser.Parse(fileName, out error);
Run Code Online (Sandbox Code Playgroud)

方案二

try
{
  myParser.Parse(fileName)
}

catch(MyParsingException ex)
{
  // use ex.Error field
}
Run Code Online (Sandbox Code Playgroud)

UPDATE

如果我没有弄错,那么例外背后的意识形态就是它应该处理一些特殊的东西,这是该方法无意处理的一些情况.

这让我想知道是否例如:

解析器在文件中找到未知字段,或者编码错误

这会被视为特殊情况吗?

c# architecture exception-handling

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

ConfigurationErrorsException:此元素当前未与任何上下文关联

我得到奇怪的异常,在我看来与WCF配置对象有关,但是错误的是我完全不清楚

System.Configuration.dll中发生了'System.Configuration.ConfigurationErrorsException'类型的第一次机会异常

附加信息:此元素当前未与任何上下文相关联

ServiceModelSectionGroup serviceConfigs =
ServiceModelSectionGroup.GetSectionGroup(config);

ServiceElement serviceConfig = 
serviceConfigs.Services.Services[serviceType.ToString()]; << here exception
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

.net c# configuration wcf exception

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

如何在php中安排电子邮件通知

我知道如何使用PHPmail发送电子邮件.但是,如果我需要发送大量电子邮件呢?

这可能是发布新消息时网站订阅者的"通知".直接在页面处理程序中执行此操作将严重影响性能并使浏览器加载速度过慢.所以我需要在"背景"中完成这项工作.

在我的情况下,如何用PHP"安排"某些东西 - 发送电子邮件?例如,在C++中,我会创建一个单独的线程,但AFAIK在PHP中没有多线程这样的东西.

php email

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

Excel单元格中的下拉列表

我有一个简单的Excel speadsheet,在一列中我写了字符串值.我需要的是定义一些预定义的值,而不是键入字符串从下拉列表中选择它.例如,对于列商店名称,我想选择"Reebok","Adidas"等.

我知道有几种方法可以实现它,甚至是VBA.我使用Office 2007.

请指教.

excel vba ms-office excel-vba

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