小编Hax*_*lit的帖子

WCF具有重复方法名称的多个合同

我有一个像这样的多个合同的服务.

[ServiceContract]
public partial interface IBusinessFunctionDAO {

    [OperationContract]
    BusinessFunction GetBusinessFunction(Int32 businessFunctionRefID);

    [OperationContract]
    IEnumerable<Project> GetProjects(Int32 businessFunctionRefID);
}

[ServiceContract]
public partial interface IBusinessUnitDAO {

    [OperationContract]
    BusinessUnit GetBusinessUnit(Int32 businessUnitRefID);

    [OperationContract]
    IEnumerable<Project> GetProjects(Int32 businessUnitRefID);
}
Run Code Online (Sandbox Code Playgroud)

然后,我明确地实现了每个接口.

public class TrackingTool : IBusinessFunctionDAO, IBusinessUnitDAO {

    BusinessFunction IBusinessFunctionDAO.GetBusinessFunction(Int32 businessFunctionRefID) {
      // implementation
    }
    IEnumerable<Project> IBusinessFunctionDAO.GetProjects(Int32 businessFunctionRefID) {
      // implementation
    }

    BusinessUnit IBusinessUnitDAO.GetBusinessUnit(Int32 businessUnitRefID) {
      // implementation
    }
    IEnumerable<Project> IBusinessUnitDAO.GetProjects(Int32 businessUnitRefID) {
      // implementation
    }
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我有两个GetProjects(int)方法,但每个方法都是显式实现的,所以这个编译得很好并且完全有效.当我真正将其作为一项服务开始时,问题就出现了.它给我一个错误,因为TrackingTool已经包含一个定义GetProject.虽然这是真的,但它是不同服务合同的一部分.在生成方法名称时,WCF是否无法区分服务合同?有没有办法让它区分服务合同?

我的App.Config看起来像这样

<service name="TrackingTool">
  <endpoint address="BusinessUnit" contract="IBusinessUnitDAO" />
  <endpoint address="BusinessFunction" contract="IBusinessFunctionDAO" /> …
Run Code Online (Sandbox Code Playgroud)

c# wcf

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

已使用ComponentResourceKey添加了WPF ResourceDictionary项

我有以下ResourceDictionary,它被合并到我的Themes/Generic.xaml文件中

<DataTemplate DataType="{x:Type model:RequirementResourceRelation}" x:Key="{x:Static local:Resources.RequirementResourceRelationListTemplateKey}">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition Width="Auto" />
        </Grid.ColumnDefinitions>
        <TextBlock MinWidth="35" HorizontalAlignment="Left" Padding="3,0" Text="{Binding Resource.Name, TargetNullValue=Loading...}" />
        <TextBlock Grid.Column="1" Text="-" />
        <TextBlock Grid.Column="2" MinWidth="35" HorizontalAlignment="Left" Padding="3,0" Text="{Binding Path=RelationType, TargetNullValue=Loading...}" TextWrapping="NoWrap" TextTrimming="CharacterEllipsis" />
    </Grid>
</DataTemplate>

<DataTemplate DataType="{x:Type model:RequirementResourceRelation}" x:Key="{x:Static local:Resources.RequirementResourceRelationListTemplate2Key}">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition Width="Auto" />
        </Grid.ColumnDefinitions>
        <TextBlock MinWidth="35" HorizontalAlignment="Left" Padding="3,0" Text="{Binding Requirement.Name, TargetNullValue=Loading...}" />
        <TextBlock Grid.Column="1" Text="-" />
        <TextBlock Grid.Column="2" MinWidth="35" HorizontalAlignment="Left" Padding="3,0" Text="{Binding Path=RelationType, TargetNullValue=Loading...}" …
Run Code Online (Sandbox Code Playgroud)

wpf exception resourcedictionary componentresourcekey

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

T-SQL在层次结构中获取根节点

所以我有两个表格结构如下:

CREATE TABLE #nodes(node int NOT NULL);
ALTER TABLE #nodes ADD CONSTRAINT PK_nodes PRIMARY KEY CLUSTERED (node);

CREATE TABLE #arcs(child_node int NOT NULL, parent_node int NOT NULL);
ALTER TABLE #arcs ADD CONSTRAINT PK_arcs PRIMARY KEY CLUSTERED (child_node, parent_node);

INSERT INTO #nodes(node)
VALUES (1), (2), (3), (4), (5), (6), (7);

INSERT INTO #arcs(child_node, parent_node)
VALUES (2, 3), (3, 4), (2, 6), (6, 7);
Run Code Online (Sandbox Code Playgroud)

如果我有两个节点,请说1和2.我想要一个根节点列表.在这种情况下,它将是1,4和7.我如何编写查询来获取该信息?

我写了一篇文章,但遇到了一个问题,我不能在CTE的递归部分使用LEFT连接,原因不明.如果我被允许执行LEFT JOIN,那么这个查询将起作用.

WITH root_nodes
AS (
    -- Grab all the leaf nodes I care about and their …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server sql-server-2008

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

git alias get cwd

如果我定义一个执行外部脚本的git别名,有没有办法获得原始的CWD?我知道外部脚本总是在repo的根目录执行所以我只是想知道是否有一个env变量或者我可以用来确定我运行脚本的位置.

这是一个示例别名:

git config --global alias.here '!echo pwd `pwd`'

/home/me/repo/folder$ git here
pwd /home/me/repo
Run Code Online (Sandbox Code Playgroud)

我正在寻找能够做到以下事情的事情:

git config --global alias.here '!echo pwd $OLD_PWD'


/home/me/repo/folder$ git here
pwd /home/me/repo/folder
Run Code Online (Sandbox Code Playgroud)

git

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

WPF条件绑定

我有TreeView一些像TextBoxes和ComboBoxes 这样的其他控件.在TextBoxES绑定到所选的项目,TreeView就像这样:

Text="{Binding SelectedItem.Name, ElementName=groupTreeView}"
Run Code Online (Sandbox Code Playgroud)

如果我的所有元素TreeView都有一个Name属性,这可以正常工作.

我想知道是否有办法做某种条件绑定会说:

if SelectedItem is MyTreeType
    then bind
else
    disable the element
Run Code Online (Sandbox Code Playgroud)

可以这样做吗?现在我只是抛出绑定错误而且看起来有点脏.我TreeView是数据绑定,并且有几个不同类型的类,所以这就是为什么我正在寻找某种条件绑定.

谢谢,劳尔

data-binding wpf conditional

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