小编rae*_*ae1的帖子

mouseenter和mousehover有什么区别?

在C#Windows应用程序中,有2个不同的鼠标事件,MouseEnter并且MouseHover当光标在对象上时触发它们.

他们之间有什么区别?

c#

8
推荐指数
2
解决办法
3759
查看次数

为什么OnPostUpdate中的Session.Evict导致"可能的非线程安全访问会话"异常?

我有一个拥有许多角色的用户.用户使用链接实体表链接到角色.我已将配置文件设置为在删除用户时级联删除用户角色链接实体.

我们目前正在使用软删除来删除实体.我们添加了一个由删除触发的软删除事件监听器.删除实体时,会触发DeleteEntity将实体标记为已删除的事件.

我们还有一个覆盖OnPostUpdate事件,通过在实体上调用Evict来从缓存中删除实体.

如果我创建一个没有任何角色的用户,那么删除它,一切正常(如果级联禁用,它也可以工作).但是,如果我有一个至少分配了一个角色的用户并且我删除了用户,则在调用Evict后OnPostUpdate,我得到一个NHibernate异常"NHibernate.AssertionFailure:可能的非线程安全访问会话".

我已尝试OnPostUpdate使用子会话来驱逐实体,但不会抛出异常,但实体不会被驱逐.

public void UserDelete(.....)
{
    var user = repository.Fetch<User>(id);

    repository.Remove(user);
    repository.Connection.Commit();
}


// soft delete event listener
protected override void DeleteEntity(NHibernate.Event.IEventSource session, object entity, ..)
{               
    var repositoryEntity = entity as deletableentity;
    if (repositoryEntity != null)
    {
        if (!repositoryEntity.IsDeleted)
        {
            // this marks the entity as deleted
            repositoryEntity.isDeleted = true;

            // cascade delete
            this.CascadeBeforeDelete(session, persister, repositoryEntity, entityEntry, transientEntities);
            this.CascadeAfterDelete(session, persister, repositoryEntity, transientEntities);          
        }
    }
}

public void OnPostUpdate(PostUpdateEvent …
Run Code Online (Sandbox Code Playgroud)

nhibernate

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

Python正则表达式:如何排除超弦?

我想找到所有"不"的外观,但不包括"不好"或"不坏"的术语.

例如,"不是不好,不坏,不是我的"将匹配第一个和最后一个"不".

如何在python中使用re包来实现呢?

python regex

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

如何提高ASP.NET站点的安全性?

我有一个ASP.NET站点,有些客户希望有更好的安全层来访问它.该网站今天要求输入用户名和密码,但很多客户希望限制对某些机器的访问,我需要在我的服务器端执行此操作.所以,我要求一些建议.

  1. 使用VPN限制访问?(移动设备不起作用)

  2. 有可能检查mac地址吗?

  3. 可以使用客户端证书吗?

c# asp.net

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

如何从适配器调用ListFragment中定义的方法?

我有ListFragment一个定制适配器.

从适配器我onClick从行中定义的按钮获取事件.在onClick方法中我得到一些id,我想传递ListFragment给做一些东西.

如何ListFragment在适配器中调用showTask方法?

listfragment

public class TaskListFragment extends ListFragment{

    /* ... */

    @Override
    public void onCreate(Bundle savedInstanceState) {       
        super.onCreate(savedInstanceState);
        mAdapter = new TaskListAdapter(getActivity(), data);        
    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) 
    {
        super.onActivityCreated(savedInstanceState);
        setListAdapter(mAdapter);
    }   

    public void showTask(long id) {

        FragmentTransaction ft = getFragmentManager().beginTransaction();

        TaskFragment taskFragment = new TaskFragment();

        Bundle args = new Bundle();
        args.putLong("id", id);
        taskFragment.setArguments(args);

        ft.replace(R.id.fragment_container, taskFragment);
        ft.commit();         
    }
}
Run Code Online (Sandbox Code Playgroud)

适配器

public class TaskListAdapter extends ArrayAdapter<Task>{

    /* ... */ …
Run Code Online (Sandbox Code Playgroud)

android adapter

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

如何在SoundPool中停止所有声音?

我正在使用SoundPoolAndroid上的游戏播放sfx声音.在大多数情况下,它完美地工作,除了有时我需要立即停止所有声音而 不是暂停(如果设置为循环与否则无关紧要).我无法弄清楚如何在不知道声音的情况下停止播放StreamID声音.我知道的:

  • soundpool.load(... 一些声音 ...... )返回一个soundID
  • soundpool.play(soundID)播放声音并返回streamID
  • soundpool.stop(streamID)停止声音

我的问题是,如何在不知道streamID的情况下停止声音?我尝试跟踪列表中的所有streamID,但有时会有很多短流同时播放,它无法正常工作.我找不到任何方法SoundPool来获取活动的streamID.有谁知道如何停止所有声音?任何提示都表示赞赏!谢谢

android soundpool

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

我可以在一个控制器中有两个视图模型吗?

我无法理解这是否可行.我有一个存储过程和一个视图模型类和一个控制器.是否可以使用不同的存储过程添加另一个视图模型类以使用一个控制器并将两个存储过程中的信息显示到一个视图中?

这是我目前的型号:

public class People
{
    public class Jobs
    {
        public int jobID { get; set; }
        public string jobName { get; set; }
    }

    public class Names
    {
        public int userId{get;set}
        public string userName {get; set;}
    }
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc

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

如何使用SemanticModel检查变量是否已经过测试?

我正在研究Roslyn扩展,以警告不受保护.ValueNullable<T>值访问.

这提供了以下行为:

警告:

这个扩展已经很有效了,但是测试访问是否"安全"的代码有点像黑客.我现在只需走语法树,寻找if语句.

这种方法非常难看,会产生一堆无效的警告.

以下是访问x.Value应该是安全的一些示例:

int y;
int? x = foo();

y = x != null ? x.Value : 42;

if (x > 4)
  y = x.Value;

if (x != null && someExpr) // With && only one branch needs to be a test
  y = x.Value;

if (x == 3 || x == 4) // With || both branches must be a test
  y = x.Value;

if …
Run Code Online (Sandbox Code Playgroud)

c# roslyn

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

什么是Windows Workflow Foundation(WF)的目的?

我已经阅读了有关Windows工作流基础的内容,人们使用它来建模业务流程,为什么不使用UML?

根据一些答案,工作流程可以是我的域名?

还有哪些其他工具与WF相同?

.net workflow-foundation

6
推荐指数
2
解决办法
9452
查看次数

为什么Lucene.Net索引器抛出System.IO.IOException未处理?

有时会抛出异常,说该文件write.lock无法被其他进程使用,但是这是一个非常简单的Lucene.Net测试应用程序,并且没有其他进程使用它,任何关于如何使用它的想法

例外情况如下:

System.IO.IOException was unhandled
HResult=-2147024864
Message=The process cannot access the file 
     'c:\temp\luceneidx\write.lock' because it is being used by another process.

Source=mscorlib
StackTrace:
    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
    at System.IO.File.InternalDelete(String path, Boolean checkHost)
    at System.IO.File.Delete(String path)
    at Lucene.Test.LuceneSearchInternal.get__directory() 
    in C:\Lucene.Test\LuceneSearchResumes.cs:line 35
Run Code Online (Sandbox Code Playgroud)

抛出异常的相关代码是,

var lockFilePath = Path.Combine(_luceneDir, "write.lock");

if (File.Exists(lockFilePath))
    File.Delete(lockFilePath);   // THROWS exception sometimes
Run Code Online (Sandbox Code Playgroud)

代码主要来自本文.

索引是在后台线程上构建的Task.Factory.StartNew(),WPF GUI在构建索引时进行搜索.只有一个线程将文档写入索引.

问题:哪个其他进程正在使用Lucene.Net索引?

.net c# lucene lucene.net visual-studio-2010

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