小编Reg*_*ent的帖子

版本化XML模式的最佳实践是什么?

我经常需要为不同的基于XML的导入例程设计XML模式.很明显,XML模式会随着时间的推移而发展,或者它们可能包含要修复的错误,因此捕获模式的版本并使用某种机制来绑定特定版本非常重要.

目前我有两种情况:

  1. 该错误在架构中找到,所有架构实例必须符合固定版本.

  2. 模式已升级,应该被视为首选,但也应支持旧模式.

最后,我想出了在架构的命名空间中存储版本信息:

targetNamespace="http://schemas.company.com/Geodesy/2010/River.xsd"
Run Code Online (Sandbox Code Playgroud)

在修复错误时我将其修复到同一个命名空间中,但如果我要升级模式,那么我需要创建一个新的命名空间但添加了升级月份:

targetNamespace="http://schemas.company.com/Geodesy/2010/01/River.xsd"
Run Code Online (Sandbox Code Playgroud)

如果我在一个月内进行了多次升级,那么也只需追加一天:

targetNamespace="http://schemas.company.com/Geodesy/2010/01/17/River.xsd"
Run Code Online (Sandbox Code Playgroud)

你知道更好的方法吗?

xml versioning xsd

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

WPF:ComboBox中的TreeView

我正在尝试将一个TreeView放在WPF中的ComboBox中,这样当组合框被删除时,用户就会获得一个分层列表而不是一个平面列表,而他们选择的任何节点都会成为ComboBox的选定值.

我已经搜索了很多关于如何实现这个目标但是我能找到的最好的只是潜在的解决方案,因为我对WPF来说是荒谬的,我无法工作.

我对WPF和数据绑定有足够的了解,我可以将我的数据放到树视图中,甚至可以在组合框中获取树视图,但是我能够完成的任何操作都不正常.我附上了截图来说明我的意思.在屏幕截图中,组合框是"打开"的,因此底部的树视图是我可以选择节点的地方,树形视图"在顶部"正在组合框顶部绘制,我想要所选节点的文本/值在要显示的树中.

基本上我不知道怎么做的是如何让treeview的currrently选择节点将其值返回到组合框,然后组合框将其用作选定值?

这是我目前使用的xaml代码:

        <ComboBox Grid.Row="0" Grid.Column="1"  VerticalAlignment="Top">
        <ComboBoxItem>
            <TreeView ItemsSource="{Binding Children}" x:Name="TheTree">
                <TreeView.Resources>
                    <HierarchicalDataTemplate DataType="{x:Type Core:LookupGroupItem}" ItemsSource="{Binding Children}">
                        <TextBlock Text="{Binding Path=Display}"/>                            
                    </HierarchicalDataTemplate>
                </TreeView.Resources>
            </TreeView>
        </ComboBoxItem>
    </ComboBox>
Run Code Online (Sandbox Code Playgroud)

截图: 树视图

wpf treeview combobox

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

使用DataContractJsonSerializer将JSON反序列化为Dictionary

我在响应中收到以下JSON结果:

{"result": { "":-41.41, "ABC":0.07, "XYZ":0.00, "Test":0.00 }}
Run Code Online (Sandbox Code Playgroud)

我准备了以下课程进行反序列化:

[DataContract]
public sealed class RpcResponse
{
    [DataMember(Name = "result")]
    public List<KeyValuePair<string, decimal>> Result { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我要使用属性反序列化它时DataContractJsonSerializer,Result最终会有零条目.(声明时也不起作用ResultDictionary<string, decimal>)

有没有办法执行此操作DataContractJsonSerializer

.net c# serialization json .net-4.5

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

将多个子版本加入一个并保留Mercurial中的历史记录

目前我的项目包含多个存储库,例如:

+---Project (main repo)
    +---Core (subrepo)
    +---Web (subrepo)
    \---Tests (subrepo)

不幸的是,subrepos之间的代码是完全耦合的,因此它不能很好地与分支一起工作.

有没有办法将subrepos整合到一个保存历史记录的主存储库中?

mercurial subrepos

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

开发人员证书与购买的WCF证书

我强调,如果我想在WCF中使用身份验证,那么我需要在我的服务器上安装证书,WCF将使用该证书来加密我的服务器和客户端之间传递的数据.

出于开发目的,我相信我可以使用makecert.exe util.制作开发证书.

如果我在生产环境中使用此证书,可能会发生什么最糟糕的情况?

和...

为什么我不能在生产环境中使用此证书?

和......

在这种情况下,实际要做的证书是什么?

[编辑:添加了另一个问题]

最后...

在网站安装了证书以提供HTTPS支持的情况下,同样的证书也可以用于WCF服务吗?

关于我的应用程序的注意事项:它是NetTCP客户端和服务器服务.用户将使用他们用于以明文形式传递的网站的相同用户名和密码登录.我很乐意将明文中的u/n + p/w传递给WCF,但框架不允许这样做,并且证书必须到位.但是,由于预算限制,我不想购买证书!

(对不起这个可能很愚蠢的问题,但我真的不明白这一点,所以欢迎一些帮助).

ssl wcf certificate x509certificate

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

确定端口Kestrel绑定到

我正在使用ASP.NET Core空(web)模板编写一个简单的ASP.NET Core服务。

默认情况下,它绑定到端口5000,但我希望它绑定到系统上的随机可用端口。

我可以通过修改BuildWebHost为:

    public static IWebHost BuildWebHost(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>()
            .UseUrls("http://*:0") // This enables binding to random port
            .Build();
Run Code Online (Sandbox Code Playgroud)

它绑定到随机端口,但是如何从应用程序中确定我正在侦听哪个端口?

kestrel-http-server asp.net-core asp.net-core-2.0

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

具有ADO.NET实体框架的内部类

我正在使用Entity Framework来创建我的数据访问层,我希望我的所有类都可以internal.

我知道可以在设计器中为每个类手动分配它.

更新 我发现了我的初步陈述

但看起来它还需要为每个类中的每个属性设置内部修饰符!我有大约30多个实体,这将是一项巨大的工作.

不对.我错过了当我设置访问权限时,Entity Type我也需要设置适当的访问权限Entity Set.

您是否知道如何为整个模型设置"默认访问权限"?

c# ado.net entity-framework internals access-modifiers

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

比较两个DLL

脚本

我有一个C#应用程序编译为DLL.我上周有一个版本,本周有一个版本.性能发生了重大变化,因此我想比较两个版本以查看已发生的变化.

有什么想法吗?........建议?

干杯

编辑:

是的,比较版本控制的源代码会更好........除了我们使用TFS,而不是选择,甚至使用bolton应用程序TFS将源代码控制带到一个全新的shite级别. ......如果没有弄乱工作空间等,很难恢复......我只是认为DLL方法会更容易......应用程序也是一个怪物......

.net c# dll

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

用于.NET项目的Oracle vs SQL Server

我知道Oracle是一个通常很好的数据库引擎,但我认为与原生Microsoft SQL服务器解决方案相比,.NET项目的部署太难了.

(我需要同时安装x32和x64位客户端组件并为它们配置TNS名称,并为Oracle安装分布式事务支持.并不是说您需要向Oracle注册才能获取这些二进制文件.)

我还是看到了一些使用Oracle的.NET项目.

使用Oracle而不是SQL Server有什么好处?它是唯一的选择?

您是否将Oracle用于.NET项目?

.net sql-server oracle

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

ASP.NET Core 3.0 Razor Pages 中的路由本地化

我想在我的 ASP.NET Core 3.0 Razor Pages 应用程序中使用路由本地化。

/sf/answers/3708363781/似乎有 2.2 的解决方案,但现在有没有更好的方法在 3.0 中做到这一点,因为它已经重新设计了路由/端点?

c# asp.net-core asp.net-core-3.0

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

我们可以将枚举作为通用数据类型吗?

我们可以将枚举作为通用数据类型吗?如果是这样,请提供一个例子.提前致谢.

.net c# generics enums

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

我在哪里可以找到TagLib#库的源代码?

不久前在ID3实现网页上,我发现TagLib#是处理音频文件中标签的非常有用的库.然而,当我最近尝试从http://developer.novell.com/wiki/index.php/TagLib_Sharp获取最新代码时,我感到非常失望,因为显然Novell摆脱了该项目的页面.

有谁知道该项目是否有新的主页?

.net c# taglib taglib-sharp

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