2010-11-22 75 views
3

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

例如, Web部件A和B是提供者,Web部件C是消费者。

A是提供商对消费者C和B也是提供商对消费者C.

感谢。

Rhys, 我试过这个,似乎没有工作。消费者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

我发送数据相信问题是您使用相同的变量(供应商)来存储这两个参考 - 因此一个将取代另一个。

使用

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; 
} 
+0

是的,就是这样。谢谢!还有一个问题,在这种情况下它甚至需要AllowsMultipleConnections属性吗? – devXen 2010-11-23 18:10:34

1

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

如果你正在写自己的Web部件,您可以定义两个接收器的Web部件C,然后配置Web部件将数据发送到接收器1和类似网页B部分为接收器2

+0

你是正确的 - 比如内置的列表视图Web部件(LVWP)将接受消费者(Web部件C)在2010多个连接 - 但在2007年它仅接受单一连接 – Ryan 2010-11-23 09:39:50