为什么将我的自定义C#扩展部署到Spotfire WebPlauer / Consumer时不执行

时间:2019-03-22 14:26:37

标签: spotfire spotfire-webplayer

我有一个简单的自定义加载项,它仅向用户显示一条消息。

namespace GeorgiSpotfireCustomExtention
{
    public class GeorgiEvent : CustomApplicationEventHandler
    {
        protected override void OnApplicationInstanceCreated(AnalysisApplication application)
        {
            base.OnApplicationInstanceCreated(application);

            MessageBox.Show("On Application Instance Created");
        }
    }
}

那是我的CustomAddIn类:

public sealed class CustomAddIn : AddIn
{
    // Override methods in this class to register your extensions.
    protected override void RegisterApplicationEventHandlers(ApplicationEventHandlerRegistrar registrar)
    {
        base.RegisterApplicationEventHandlers(registrar);

        registrar.Register(new GeorgiEvent());
    }
}

我只是想学习软件包的部署过程。当我在本地运行它时-在已安装的Spotfire Analyst客户端中,它显示的消息很好:

enter image description here

但是,当我打包扩展时,将其添加到服务器(通过“ Deployments&Packages”部分,添加“ spk”文件,然后保存区域),当我尝试打开文档时不显示该消息在WebPlayer / Consumer中。

注意:在构建spk文件时,我在程序包构建器中为预期的客户端选择了“ TIBCO Spotfire任何客户端”。

2 个答案:

答案 0 :(得分:1)

来自Spotfire Wiki(重点是我):

  

WinForms图形用户界面是.NET Framework的组件,而不是Tibco Spotfire提供的东西。不建议使用Forms实现解决方案,但有时在调试时可能会很方便。没有承诺它将在将来的Analyst客户端版本中运行。 Web播放器不支持表单。

Wiki上列出的示例适用于IronPython,但对于C#扩展也是如此。

答案 1 :(得分:1)

正确。我的假设对.NET并不十分了解,因此并不是绝对的,因为表单是在执行代码的计算机上呈现的。对于上面的示例,对话框将在节点管理器主机上弹出。如果您确实打算使用这样的警报,则可以使用“ alert()”在JavaScript中完成。也可能有一种方法可以在Web客户端中呈现对话,但我不知道这种用法是什么。