This topic has been archived. It cannot be replied.
-
工作学习 / 学科技术讨论 / ASP访问COM的问题,请教各位高手现在有一个COM,这个COM需要访问本地系统的一些资源(比如注册表,Trusted Certificate Store,等)。现在有个客户需要在ASP里面访问这个COM,如果直接在本地运行VBSript就没有问题,一旦需要从web server load的时候,就出错,出错的原因是没有成功的访问注册表和cert store。请问如何才能使从web server load,有可以访问这些本地资源的。另外,他用CreateObject() 来创建COM,是不是应该用Server.CreateObject()?多谢
-bugkiller(Driver Coding);
2007-10-12
{389}
(#3987103@0)
-
感觉可能是权限的问题
-sowen(sowen);
2007-10-12
(#3987187@0)
-
只是调用一些函数访问Trusted Certificate Store,注册表只是打个比方。如果是cert store,有什么地方可以设置访问权限呢?
-bugkiller(Driver Coding);
2007-10-12
(#3987332@0)
-
In ASP.NET, you can use impersonate to solve some security issues. I’m not sure that in legacy ASP if you can use impersonate or not. Anyway check it in MSDN.
-deep_blue(BLUE);
2007-10-12
(#3987390@0)
-
The COM object was activated using ASP's process token. Check the configuration of your COM object, make sure it is not launch as invoker (default for normal COM objects).
-liquid(avaya);
2007-10-12
(#3987447@0)
-
I think is user permission problem. try following urlhttp://support.microsoft.com/default.aspx?scid=kb;EN-US;q296114
-whereismyid(到处找ID);
2007-10-12
{63}
(#3987701@0)
-
多谢上面的回答,另外我在我的Windows 2000上用IIS 5.0测试,完全没有问题。好像certificate store的访问策略在Windows 2003和Windows 2000有点不同。Any more tips? Thanks
-bugkiller(Driver Coding);
2007-10-12
(#3987871@0)
-
What kind of user context are you running IIS in Win2K and Win2003? And what is the activation method of your COM object?
-liquid(avaya);
2007-10-12
(#3987981@0)
-
我不懂ASP的东西。COM是我写的,现在有一个客户要用在ASP中。我就直接把ASP文件放在wwwroot中的。ASP文件如下:<%@ LANGUAGE = VBScript %>
<%
Const TEST_ID1 = "67206530016"
Const TEST_ID2 = "xxxxxxx"
Dim comAdaptor
' 1. Create the COM object.
Set comVxnAdaptor = CreateObject("mycom.MyAdaptor")
StringPayload = "SAMPLE PAYLOAD"
iRet = comAdaptor.SimpleFunction(ClientRef, StringPayload, StringResponse)
%>
-bugkiller(Driver Coding);
2007-10-15
{319}
(#3991985@0)
-
It could be access issue.
-liquid(avaya);
2007-10-15
{710}
(#3992199@0)