共享指向Web部件的多个连接

时间:2010-11-22 22:44:54

标签: sharepoint

是否可以在Sharepoint中创建与提供商有多个连接的已连接Web部件。

例如, Web部件A和B是提供者,Web部件C是使用者。

A是消费者C的提供者,B也是消费者C的提供者。

感谢。

里斯, 我试过这个似乎不起作用。使用者Web部件仅适用于它设置的最后一个提供者。

[ConnectionConsumer("KeywordsConsumer", "KeywordsID", AllowsMultipleConnections=true)]
public void ProviderReceiver1(ICommunicationChannel p)
{
       provider = p;
}

[ConnectionConsumer("NewEmployeeConsumer", "ID", AllowsMultipleConnections=true)]
public void ProviderReceiver2(ICommunicationChannel p)
{
    provider = p;
}

2 个答案:

答案 0 :(得分:2)

我认为问题在于您使用相同的变量(提供程序)来存储两个引用 - 因此一个将替换另一个。

使用

private ICommunicationChannel _keywordsProvider;
private ICommunicationChannel _newEmployeeProvider;

[ConnectionConsumer("KeywordsConsumer", "KeywordsID", AllowsMultipleConnections=true)]
public void ProviderReceiver1(ICommunicationChannel p)
{
     _keywordsProvider = p;
}

[ConnectionConsumer("NewEmployeeConsumer", "ID", AllowsMultipleConnections=true)]
public void ProviderReceiver2(ICommunicationChannel p)
{
     _newEmployeeProvider = p;
}

答案 1 :(得分:1)

是的,在网络部分C允许多个接收器。

如果您自己编写Web部件,则可以为Web部件C定义两个接收器,然后配置Web部件A以将数据发送到接收器1,并类似地将Web部件B发送到接收器2以发送数据。