关于.NET下COM+的权限问题

最近做一个电子商务的网站。支付接口是用首信易支付的~ 根据支付接口的技术文档,已经在服务器做好组件注册。用ASP的测试文件测试,返回结果正常。但在.NET下测试,结果是调用不了。估计是权限问题。希望大家能帮我解决!
ASP源码:

< %
    
' 示例代码:
 
 source
= " abcde12345 "
 v_sign
= " 3e5671bc4f91c3d055b18c1e5e22dd9db157380c7ee8facf0b1117082fbf398d7113c2df7e3219fc28dd88dd26cb096cabe607f3e397dfc2dcdb3349351a5f025ea0761da6e39e2d2fd311294a6076e777fe2ab8911f22113c435b89d63ae4f2aff2f333f7ebd40cc89601d58fb37b16596b5c94eb8b64cd52e12b9679248e6a "

 
set  rsacom = server.CreateObject( " RSACOM.RSAMD5.1 " )
 verifyStatus
= rsacom.PublicVerifyMD5( " D:\Public1024.key " ,v_sign,source, len (source))

 
' 验证签名结果
  if  verifyStatus = 0   then
    response.write 
" 公钥验证成功. "
 
else
    response.write 
" 公钥验证失败. "
 
end   if
%
>


.NET返回结果:

远程过程调用失败。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Runtime.InteropServices.COMException: 远程过程调用失败。

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪:

[COMException (0x800706be): 远程过程调用失败。]
   RSACOMLib.RSAMD5Class.PublicVerifyMD5(String lpFileName, String SignString, String src, Int32 len) +0
   music.Show52_IMusic.CZ_3()
   music.Show52_Music.D12_7()
   music.Show52_Music.Page_Load(Object sender, EventArgs e)
   System.Web.UI.Control.OnLoad(EventArgs e) +67
   System.Web.UI.Control.LoadRecursive() +35
   System.Web.UI.Page.ProcessRequestMain() +739


版本信息:  Microsoft .NET Framework 版本:1.1.4322.2300; ASP.NET 版本:1.1.4322.2300

.NET调用代码:

StringBuilder MB = new  StringBuilder();

            
string  MF5_7,v_ymd,yy,mm,dd,v_mid = " 1002 " ,key = " test " ,T,v_url = " http://www.show52.com/show52_music.aspx?A=D13_1 " ;
            
int  MM,DD;
            yy
= DateTime.Now.Year.ToString();
            MM
= DateTime.Now.Month;
            DD
= DateTime.Now.Day;

            mm
= MM.ToString();
            
if (MM < 10 )
            
{
                mm
= " 0 " + MM.ToString();
            }


            dd
= DD.ToString();
            
if (DD < 10 )
            
{
                dd
= " 0 " + DD.ToString();
            }

            v_ymd
= yy + mm + dd;
            T
= os.pnx.Rnd();



            MB.Append(Begin());
// 网站的风格和语言种类路径
            MB.Append(os.MB_Read( " 7 " , " 65 " ,Language)); // 本页面的模版代码
            MB.Append(End()); // 网站最底部的信息
            MB.Replace( " {--U1_1--} " ,LoginName);


            
/*
             * 
             * ?v_oid=20060316-1002-2006316222612337017
&v_pmode=%B9%A4%C9%CC%D2%F8%D0%D0%C4%B5%B5%A4%BF%A8
&v_pstatus=20
&v_pstring=%D6%A7%B8%B6%CD%EA%B3%C9
&v_md5info=452c903a51d1ee70f938be016f89152e
&v_amount=1
&v_moneytype=0
&v_md5money=6c0391dc46a37babbe03a93970912d48
&v_sign=730e4c46e48a78dbb0e83de7f8600cc41c58320a491adf59f847cae3e34e197f7f59460ccac9d9bb26bcbe98c17135d8a1ae31defb43a8ca1e60114c2b775fc8838972fe209f83d0ac41190e0ebe4b7a2021c3c6ecc00b9959a02a1f4ebe2e0cedaf9820ac0389c14bea6aeead759ffd0d6a47bb7fcee6d12647e7b456fa3d3d

             * 
*/


            
string  TV3_8,v_oid,v_pmode,v_pstatus,v_pstring,v_md5info,v_amount,v_moneytype,v_md5money,v_sign,source;

            v_oid
= os.pnx.ckm( " v_oid " );
            v_oid
= " 20060316-1002-2006316225054189163 " ;

            v_pmode
= os.pnx.ckm( " v_pmode " );
            v_pmode
= " %B9%A4%C9%CC%D2%F8%D0%D0%C4%B5%B5%A4%BF%A8 " ;

            v_pstatus
= os.pnx.ckm( " v_pstatus " );
            v_pstatus
= " 20 " ;

            v_pstring
= os.pnx.ckm( " v_pstring " );
            v_pstring
= " %D6%A7%B8%B6%CD%EA%B3%C9 " ;

            v_md5info
= os.pnx.ckm( " v_md5info " );
            v_md5info
= " b054adc850971ed34ae03e271db481c4 " ;

            v_amount
= os.pnx.ckm( " v_amount " );
            v_amount
= " 1 " ;

            v_moneytype
= os.pnx.ckm( " v_moneytype " );
            v_moneytype
= " 0 " ;

            v_md5money
= os.pnx.ckm( " v_md5money " );
            v_md5money
= " 6c0391dc46a37babbe03a93970912d48 " ;

            v_sign
= os.pnx.ckm( " v_sign " );
            v_sign
= " 87646247088f2265819b9711169572ebfeac97db204f106c6c81f0d0b1b35fda2c1fe03e0fc7a7108c26d7df9ec6f7bc18140870ddb8aa7c73fa686a3ea0a02fb758d75f87a173a2a8edd57433d4533545e3b247a56aa6a3c75f8bbd87e3f949f2017e57a54d74cf2deb6b08253d6e75031ea575669c86f94feaccd93c384556 " ;

            source
= v_oid  +  v_pstatus  +  v_amount  +  v_moneytype ;

            RSAMD5Class vr
= new  RSAMD5Class();
            TV3_8
= vr.PublicVerifyMD5( " D:\\Public1024.key " ,v_sign,source,source.Length).ToString();

            os.pnx.Write(
" 验证= " + TV3_8);
            
            
string  v_rcvname,strSQL,TV3_4 = v_oid,OK;
            v_rcvname
= LoginName;
            
            MB.Replace(
" {--v_ymd--} " ,v_ymd);
            strSQL
= " update show52_TV3 set TV3_8=' " + TV3_8 + " ' where U1_1=' " + LoginName + " ' and TV3_4=' " + TV3_4 + " ' " ;
            os.pnx.db.WriteDB(strSQL,
" show52_TV3 " );


            OK
= " 付款失败! " ;
            
if (TV3_8 == " 0 " )
            
{
                OK
= " 付款成功! " ;
            }

            MB.Replace(
" {--OK--} " ,OK);
            MB.Replace(
" {--TV3_4--} " ,TV3_4);
                        

            os.pnx.Write(MB);



posted on 2006-03-19 02:06  黑夜彩虹  阅读(2542)  评论(1)    收藏  举报