小编sni*_*ker的帖子

多个应用程序,共享设置:使用注册表或基于XML的配置?

我的情景

我有一个类库,将从多个单独的可执行应用程序中调用.此类库需要知道要访问的数据库服务器的地址(以及许多其他配置选项,身份验证信息等).我有一个独立于类库的配置和管理应用程序,它还需要知道并设置这些配置选项.

我的问题

通常的做法是在Windows注册表中存储这些特定于用户的配置选项,还是首选对类库使用典型的"App.config"XML方法,并允许配置工具更改和修改它?

我倾向于注册表方法,但我知道许多人对不使用它有意见.你会怎么做?

c# registry configuration configuration-management

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

内部或右外部加入Nhibernate和Fluent Nhibernate on Many to Many系列

如何强制NHibernate在多对多集合中执行右外连接或INNER连接而不是LEFT外连接?

我想要这样做的原因是因为应用于集合元素的过滤.使用左连接时,您将获得与未过滤查询相同的行数,但过滤掉的元素只显示所有字段的NULL.但是,使用右连接时,将从查询中返回正确的行数和元素数.

我希望可以在集合的映射中的某处指定连接.

nhibernate nhibernate-mapping fluent-nhibernate

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

如何判断其他应用是否已注册IPC Remoting频道?

所以我有一个提供.NET API的应用程序.他们的API库通过.NET远程调用与他们的主应用程序通信.要使用API​​,应用程序必须已启动并运行.

所以,我有一个实例,我需要以编程方式启动应用程序,然后实例化一个API对象,它试图打开一个IPC远程通道到主应用程序.问题是,在我开始这个过程之后,启动和应用程序注册通道之间会有几秒钟的时间.如果我在注册频道之前尝试实例化一个API对象,它就会发出异常.

我对.NET远程处理知之甚少并没有帮助.

如果他们的应用程序已经注册了通信通道,我如何从我的应用程序确定使用他们的API,所以我知道可以实例化他们的API对象?

c# remoting channel

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

在哪里可以发布eensy weensy有用的小.NET类?

我发现自己编写了大量可重用的代码,因为我找不到其他人编写的可重用代码.微小的东西,比如小的winforms组件,等等.

我正在寻找一个网站,我可以向公众发布此类内容并获得许可.我不需要像Google Code/Sourceforge/Codeplex这样的东西,因为它对于我知道可以帮助别人的小班来说太大了.类似于PHP Classes Repository,但是对于.NET.

我不需要版本控制,论坛,维基,问题跟踪器......我只是想要一个快速轻松地共享代码的地方.

这样的网站是否存在?

正如我在回答评论时意识到的那样,我正在寻找(在我脑海中)的理想视觉就像是代码的"flickr".我可以在其中放置一个源包,写一个简短的描述,标记它,并完成它.如果不存在这样的事情,也许我刚刚找到了我的下一个项目.

JoeCodeKeep 回答,这几乎是我正在寻找的东西,但它不处理许可等问题,而且它几乎有点太基础了.但到目前为止,这是最接近的.

编辑:我应该提到,所有这些事情通常都是无关的,我不想把它们全部打包在一起.

.net components release

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

如何使用IHasManyConvention Fluent NHibernate约定在HasMany映射上设置PropertyRef?

目前我正在使用Fluent NHibernate生成我的数据库模式,但我希望HasMany关系中的实体指向不同的列以供参考.IE,这就是NHibernate在创建DDL时会生成的:

alter table `Pony` add index (Stable_ID),
add constraint Ponies_Stable foreign key (Stable_Id)
references `Stable` (Id);
Run Code Online (Sandbox Code Playgroud)

这就是我想要的:

alter table `Pony` add index (Stable_ID),
add constraint Ponies_Stable foreign key (Stable_Id)
references `Stable` (EntityId);
Run Code Online (Sandbox Code Playgroud)

其中Stable.ID是主键,Stable.EntityId只是我设置的另一列.

我已经有一个类看起来像这样:

public class ForeignKeyReferenceConvention : IHasManyConvention
{
    public void Apply(IOneToManyCollectionInstance instance)
    {
        instance.Cascade.All();
        //What goes here so that I can change the reference column?
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要做些什么才能让参考栏改变?

作为一个例子,这里是IReferenceConvention的代码看起来像做同样的事情:

    public class MyReferenceConvention : IReferenceConvention
    {
        public void Apply(IManyToOneInstance instance)
        {
            instance.PropertyRef("EntityId");
            instance.Cascade.All();
        }
    }
Run Code Online (Sandbox Code Playgroud)

编辑: instance.Key.Column("EntityId")不是解决方案.

c# nhibernate fluent-nhibernate

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