有一个现成的用pb写的com+组件,现在引用到项目文件中了,如何用webservice再次包装其com+里面的方法?
比如:com+里一个ManageList类有一个 public virtual int setdebug(bool state)的虚拟方法,
我如何在webservice里实现这个虚拟方法?

解决方案 »

  1.   

    to 我如何在webservice里实现这个虚拟方法?你在webservice实现虚方法是没有意义的。
      

  2.   

    首先一定要让客户端下载并安装这个Com+,可以以安装插件的提示进行。
    客户端安装成功后,才能执行。关于aspx页面里的代码: <OBJECT id="Chart" codeBase="Controls/ACTFChartProj1.ocx#version=1,0,0,0" height="470" width="800" align="middle"
    classid="clsid:96D82BC7-79D3-496B-9E26-33B9263D73F7" name="Chart" VIEWASTEXT>
    <PARAM NAME="Visible" VALUE="-1">
    <PARAM NAME="AutoScroll" VALUE="0">
    <PARAM NAME="AutoSize" VALUE="0">
    <PARAM NAME="AxBorderStyle" VALUE="1">
    <PARAM NAME="Caption" VALUE="ACTFChart">
    <PARAM NAME="Color" VALUE="16777215">
    <PARAM NAME="Font" VALUE="MS Sans Serif">
    <PARAM NAME="KeyPreview" VALUE="0">
    <PARAM NAME="PixelsPerInch" VALUE="96">
    <PARAM NAME="PrintScale" VALUE="1">
    <PARAM NAME="Scaled" VALUE="-1">
    <PARAM NAME="DropTarget" VALUE="0">
    <PARAM NAME="HelpFile" VALUE="">
    <PARAM NAME="ScreenSnap" VALUE="0">
    <PARAM NAME="SnapBuffer" VALUE="10">
    <PARAM NAME="DoubleBuffered" VALUE="0">
    <PARAM NAME="Enabled" VALUE="-1">
    </OBJECT>
      

  3.   

    这部分是调用页面的JS部分:function window_onload() {
     ShowWin();
    }function ShowWin()
    {
    var Kind = parent.MenuTree.document.getElementById("nodeID").value;
      //window.alert(document.Form1.Hidden1.value);
     document.Form1.Chart.ServerHost = document.Form1.Hidden1.value;
     
     if (Kind == "GY_KC")
     {
       document.Form1.Chart.ShowWinFormGyKcwz = true;
     }
     ...
     ...
    }
      

  4.   

    “webservice再次包装其com+”这是将两套原本功能重复(都是远程代理机制)但是实现方法不同的技术重叠起来使用,我不知道有什么意义?并非没有意义,但是我不知道对于你来说意义在哪里?在webService这种机制之下,你从客户端直接使用服务器端的对象。注意,是实例化对象,所以不可能有什么“虚方法”。
      

  5.   

    to Eray(Eray) :webService 在哪里呢?