比如说我在Starcounter中声明了这样的东西
[Database]
public class User
{
public string Username;
public string Email;
}
我有一个页面,列出了DB中的一行,并带有PuppetJS的更新按钮,所有工作正常。
如果我从另一个会话或直接在数据库中更改该值,是否仍然可以通过将新值推送到客户端来直接将值更新到任何活动的客户端?
***编辑: 我在TestPage.json.cs文件中添加了以下内容:
void Handle(Input.Update action)
{
Transaction.Commit();
Session.ForAll(s =>
{
if (s.Data is TestPage)
s.CalculatePatchAndPushOnWebSocket();
});
}
此推送很好地直接更新到其他会话。仍然想知道是否有更好的方法来做到这一点。
答案 0 :(得分:2)
您在编辑中提供的代码就是您要走的路:
void Handle(Input.Update action)
{
Transaction.Commit();
Session.ForAll(s =>
{
if (s.Data is TestPage)
s.CalculatePatchAndPushOnWebSocket();
});
}
它的作用是:
TestPage
个实例有关推送WebSocket更改的更多信息,请访问:http://starcounter.io/guides/web/sessions/。