c# asp.net com组件如何在客户端注册?

woyaowanchunv 2009-03-13 02:50:39
asp.net com组件如何在客户端注册?

写好了com组件,IE不能自动下载控件

所以调用时不好使

不知道如何能让客户端使用com组件?
...全文
208 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
xyq_xiaobangcn 2011-08-19
  • 打赏
  • 举报
回复
求解释.感谢啊.
hejingyi1983 2010-09-01
  • 打赏
  • 举报
回复
劳烦您告诉一下 !非常感谢
yangzhihua 2009-12-04
  • 打赏
  • 举报
回复
我也很想知道,还希望那位前辈能指点下,或者给个例子。
hanxingruo 2009-05-24
  • 打赏
  • 举报
回复
怎么解决的呀,我也遇到这个问题了,lz快回来呀
woyaowanchunv 2009-03-17
  • 打赏
  • 举报
回复
解决
很快结贴
woyaowanchunv 2009-03-13
  • 打赏
  • 举报
回复

archu

1. 如果想在客户端(IE)显示winform的话,那么只能用ActiveX控件,看到最后你的回帖,我估计你是这种需求。
是用的AX控件,现在已经把AX控件打包完毕,在服务端可以调用成功


2. 如果只是你的ASP.NET程序需要调用一个COM组件的话,因为这两者都是运行在服务端,所以不需要客户端下载任何东西。你只要把COM组件Add reference进来,在ASP.NET中就可以像调用普通dll一样调用了。

是个AX控件,需求是要在客户端本地,处理客户端的图片,如合成,改变颜色等,处理完毕之后再上传到服务器,也就是说要在客户端本地处理asp.net的代码,所以给嵌入了winform的AX控件生成的dll,服务端本地测试没问题,客户端应该是我没有注册明白,所以访问时显示不出来,dll放到了system32里,运行-->regsvr32.exe active.dll,显示注册失败,调用代码为:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TPHC.aspx.cs" Inherits="private_dzjc_XXLR_TPHC" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>合成</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<object id = "tphc" classid = "clsid:903b468e-2906-42a1-924e-5712bb74d21a" width = "1500" height = "3000" codebase = "http://192.168.1.137/zl_dzjc/active.dll" ></object>
</div>
</form>
</body>
</html>
Teng_s2000 2009-03-13
  • 打赏
  • 举报
回复
Mark
woyaowanchunv 2009-03-13
  • 打赏
  • 举报
回复
sp1234
唉,心不够狠毒,发不了横财

这个看不太懂,是自动生成的
我的是一个dll,是c#,webform的,调用方法不太一样,或者讲讲那个html的原理?和生成的控件需要放的位置?

还是希望能有个webform的例子```
archu 2009-03-13
  • 打赏
  • 举报
回复
问题描述得不够清楚。
1. 如果想在客户端(IE)显示winform的话,那么只能用ActiveX控件,看到最后你的回帖,我估计你是这种需求。
2. 如果只是你的ASP.NET程序需要调用一个COM组件的话,因为这两者都是运行在服务端,所以不需要客户端下载任何东西。你只要把COM组件Add reference进来,在ASP.NET中就可以像调用普通dll一样调用了。
woyaowanchunv 2009-03-13
  • 打赏
  • 举报
回复
回:
Tinary3v0
程序_归来

需求就是必须要这样做了,而且在本机功能已经实现了,在页面上嵌入了winform程序,还有你说的那个思路我懂得,手动给客户端的system32加了dll,可是注册不成功

现在的问题是,在客户机上不知道如何去调用

正在研究
sp1234
唉,心不够狠毒,发不了横财

给的代码
Tinary3v0 2009-03-13
  • 打赏
  • 举报
回复
如果COM真的是要在用户端执行一些通过网页发送信息 不能解决的问题的时候才用用的ActiveX 或者一些特殊的功能 硬件使用 大规模管理等
先检查一下自己的需求很环境 是不是确实需要这么做。
  • 打赏
  • 举报
回复
<script language="javascript" EVENT="abcChanged" FOR="test1">
alert(test1.abc);
</script>


这一段是我手工加到它生成的HTML文件上去的,用来给你演示一下如何使用ActiveX组件实例test1。
Tinary3v0 2009-03-13
  • 打赏
  • 举报
回复
做成ActiveX 或者DLL 通过打成CAB包 添加数字证书 添加相应的DLL 依赖文件等 让用户下载安装
类似与工商银行的插件那样。 做成Exe的也行
  • 打赏
  • 举报
回复
VB(不是vb.net)可以直接将它的用户控件打包成ActiveX组件并且自动成CAB包和HTML范例(来说明如何使用打包好的CAB),给你贴一个它生成的HTML:
<HTML>
<HEAD>
<TITLE>工程1.CAB</TITLE>
</HEAD>
<BODY>
<!-- 如果这页上的任何控件需要授权,您必须
创建一个授权包文件。 运行 LPK_TOOL.EXE 来创建
要求的 LPK 文件。 LPK_TOOL.EXE 将从 ActiveX SDK 中找到,
http://www.microsoft.com/intdev/sdk/sdk.htm. 如果您有 Visual
Basic 6.0 CD, 您可以在\Tools\LPK_TOOL 目录下找到它。

下面是对象标记的例子:

<OBJECT CLASSID="clsid:5220cb21-c88d-11cf-b347-00aa00a28331">
<PARAM NAME="LPKPath" VALUE="LPKfilename.LPK">
</OBJECT>
-->

<OBJECT ID="test1"
CLASSID="CLSID:A8787630-0528-4739-A594-57A4D80974FF"
CODEBASE="工程1.CAB#version=1,0,0,0">
</OBJECT>

<script language="javascript" EVENT="abcChanged" FOR="test1">
alert(test1.abc);
</script>

<OBJECT ID="UserControl2"
CLASSID="CLSID:F6D8B8CE-087E-4309-898E-6329DCAA3E19"
CODEBASE="工程1.CAB#version=1,0,0,0">
</OBJECT>
</BODY>
</HTML>

62,267

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

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

试试用AI创作助手写篇文章吧