asp.net 调用 dll 的问题,请大侠们救命啊!

wei131420 2006-10-25 08:21:25
我之前的系统用asp写的,没有问题,测试文件内容如下,但改为 asp.net 的就不行了,郁闷中!其中我需要在程序中调用一个dll 组件:

==========test.asp=============
obj = Server.CreateObject("mpaymer.mpaymer")
obj.put_keyfile("C:/Inetpub/wwwroot/mpay_key/12345678901234599990000.key")
Dim str
str = obj.sendRequest("123456789012345", "99990000", "999911", "20060619163000", "1.00", "HKD", "http://201.123.23.21/test/testpaymentsrsp.asp", "http:/201.123.23.21/test/testpaymentfrsp.asp", "111", "https://57.32.14.67/MPay/MerchantPayAsp.do")
rsp = Split(str, ";")
If rsp(0) = 0 Then
Response.Redirect(rsp(1))
Else
Response.Write("Fail, return code=[" & rsp(0) & "]; return msg=[" & rsp(1) & "]")
End If
obj = Nothing


ASP.Net 的测试文件如下:

1、我把dll 添加到“引用”中

=============test.aspx=====================
Imports MPAYMERT1Lib


Dim obj As New mpaymer
obj.put_keyfile("d/mapy/mpay_key/2000012001.key")
Dim Str_message As String
Str_message = obj.sendRequest("200001", "2001", "99991111", "200610251010", "1.00", "HKD", "http://201.123.23.21/test/testpaymentsrsp.asp", "http:/201.123.23.21/test/testpaymentfrsp.asp", "111", "https://57.32.14.67/MPay/MerchantPayAsp.do")


Dim rsp
rsp = Split(Str_message, ";")
If rsp(0) = 0 Then
Response.Redirect(rsp(1))
Else
Response.Write("Fail, return code=[" & rsp(0) & "]; return msg=[" & rsp(1) & "]")
End If

rsp = Nothing
obj = Nothing

========但是出现错误,页面显示如下信息:=========

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

异常详细信息: System.Runtime.InteropServices.COMException: 服务器出现意外情况。

源错误:

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

堆栈跟踪:


[COMException (0x80010105): 服务器出现意外情况。]
MPAYMERT1Lib.mpaymerClass.sendRequest(String merchant_id, String terminal_id, String ordernum, String datetime, String amt, String currency, String return_url, String fail_url, String customized_data, String url) +0
Mpay.Order.but_submit_Click(Object sender, EventArgs e) in E:\MPay\Mpay_Now\Mpay\Order.aspx.vb:98
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +57
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain() +1292


请问各位有什么解决方法,谢谢!
...全文
314 15 打赏 收藏 举报
写回复
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
wei131420 2006-10-26
  • 打赏
  • 举报
回复
哈哈哈...终于找到了问题的所在了,解决了,散分!
wei131420 2006-10-25
  • 打赏
  • 举报
回复
我的是站点目录,原始的 dll 文件也放在了 <bin>中了,而且我的文件格式不是 NTFS 的,所以不用配置安全性,怎么办呢?
aafshzj 2006-10-25
  • 打赏
  • 举报
回复
另外你的原始COM组件有没有带过去?在什么目录下?
aafshzj 2006-10-25
  • 打赏
  • 举报
回复
你得站点目录或虚拟目录啊。
wei131420 2006-10-25
  • 打赏
  • 举报
回复
“前提是当前应用目录本来授过权。" 这个是什么意思,当前目录怎么授权呢?谢谢
aafshzj 2006-10-25
  • 打赏
  • 举报
回复
key文件所在目录授权了吗?
wei131420 2006-10-25
  • 打赏
  • 举报
回复
我在“运行”中用 regsvr 32 注册过
aafshzj 2006-10-25
  • 打赏
  • 举报
回复
前提是当前应用目录本来授过权。
aafshzj 2006-10-25
  • 打赏
  • 举报
回复


如果在当前应用bin下面应该不用授权的。

那么com组件注册了吗?
aafshzj 2006-10-25
  • 打赏
  • 举报
回复
Explorer找到Com所在目录,右击选择安全性设置network service这个用户对该目录有读权限。

如果是windows 2003以前的操作系统的话,相应用户是aspnet。
wei131420 2006-10-25
  • 打赏
  • 举报
回复
如果需要授权,授权的方法是怎么样呢?请各位大侠指教?谢谢!
wei131420 2006-10-25
  • 打赏
  • 举报
回复
我在项目中添加“引用”了,所以Dll自动放在 <Bin>的目录中,这个也需要 “授权给aspnet或者network service用户”吗?
jijl2001 2006-10-25
  • 打赏
  • 举报
回复
com组件有没有授权
aafshzj 2006-10-25
  • 打赏
  • 举报
回复
com所在目录没有授权给aspnet或者network service用户>
DePaul 2006-10-25
  • 打赏
  • 举报
回复
DLL 不支持.NET
发帖
.NET社区

6.1w+

社区成员

.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
帖子事件
创建了帖子
2006-10-25 08:21
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。