在经典ASP中使用的C# dll
我有以下C#代码 namespace testDll { class testDLL { public int add(int val) { return val + 5; } } } 使用Visual Studio Express 2010创建了DLL,即将进入Projet属性,将输出类型更改为classLibrary并使组装com可见. 每次我尝试使用regsvr32.exe 注册DLL 我得到错误dllregisterserver entrypoint was not found 解决方案 您不能用regsvr32.exe注册.NET DLL.您必须使用RegasM.exe. look 在这里P> 通常您只使用 regasm.exe NameOfDotNetDLL.dll /codebase 此外 [ComVisibleAttribute( true
6 2024-04-24
编程技术问答社区
显示请求的页面的404页面
我最近将网站迁移到了新的CMS(Umbraco).许多链接已经更改,但是可以通过搜索URL中的图案来轻松纠正它们,因此,如果找不到旧页面,我想编写一些会重定向到正确页面的内容.那部分不是问题. 将浏览器重定向到我的自定义404页面后,如何获得所请求的URL.我尝试使用: request.ServerVariables("HTTP_REFERER") 'sorry i corrected the typo from system to server. 但这没用. 有什么想法? 该网站在IIS 6.0上. 我们确实考虑使用301个重定向,但是我们没有任何方法知道人们已经添加了书签和几百页,所以没有人渴望花时间创建301. 解决方案 我在自定义404错误处理页面中所做的基本上与您所询问的事情相同.在IIS 6上,原始URL在查询字符串中.下面的代码显示了如何获取原始URL然后转发用户.就我而言,我从旧的ASP转换为新的ASP.NET,因此所有.asp页面都必
6 2024-04-24
编程技术问答社区
将一个相当简单的C#类库转换为一个COM对象?
这是我的问题:我必须从经典的ASP页面上调用带有安全标头的Web服务,该网站返回复杂的数据类型.出于各种原因,关于第三方工具,它必须是经典的ASP.我们认为我应该创建一个外部DLL来执行此操作 - 我(在C#中)做到了这一点,以便它返回数据集(ASP可以理解).但是,现在我需要将该功能公开到ASP页面.因为这是经典的ASP,所以我认为这样做的唯一直接方法是将此类库作为com对象公开.我需要了解完成这项任务的最简单和肮脏的方法.我必须对我的dll做什么? 我从未在仅使用之前创建一个com对象.有人说我的班级必须是静态的,我不能有构造函数.这是真的?有人可以为我布局吗? 帮助! (o: 编辑:现在解决了这个特定问题,但是正如罗伯特·罗斯尼(Robert Rossney)指出,我对经典ASP中的数据集无能为力.这导致我发布了第二个问题在这里实施 XMLTEXTWRITER-罗伯特(Robert)如果您看到这一点,我认为您真的可以提供帮助! 解决方案 否,那个(静态/否
4 2024-04-23
编程技术问答社区
C# COM对象与VB6/asp错误
我正在尝试通过com公开C#类库,以便我可以在经典的ASP网站中使用它. 我已经使用了sn -k,regasm和gacutil.关于我现在可以做的一切都是回声. 将类变量作为输入的方法对我不起作用.即我的测试方法echoperson(Person P)返回一个和姓氏的字符串不起作用.我得到一个运行时错误5-无效的过程或参数. 请让我知道我缺少什么.同样,我在VB中没有智能.我需要做什么才能使智力工作起作用. 下面是我的C#测试代码 namespace MrdcToFastCom { public class Person : MrdcToFastCom.IPerson { public string FirstName { get; set; } public string LastName { get; set; } } public class ComTester : MrdcToFa
6 2024-04-23
编程技术问答社区
在C#.NET中的Microsoft.XMLHTTP
我目前有一个将ASP经典代码转换为C#的项目,然后我进入了代码的这一部分... Function sendRequest(sRequest) //sRequest is XML data Dim sResponse Set oHTTP = Server.CreateObject("Microsoft.XMLHTTP") oHTTP.open HTTP_POST, WDL_URL_PREFIX, false oHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" oHTTP.send "IN=" & Server.UrlEncode(sRequest) sResponse = oHTTP.responseText sendRequest = sR
0 2024-04-23
编程技术问答社区
将一个相当简单的C#类库转换为一个COM对象?
这是我的问题:我必须从经典的ASP页面上调用带有安全标头的Web服务,该网站返回复杂的数据类型.出于各种原因,关于第三方工具,它必须是经典的ASP.我们认为我应该创建一个外部DLL来执行此操作 - 我(在C#中)做到了这一点,以便它返回数据集(ASP可以理解).但是,现在我需要将该功能公开到ASP页面.因为这是经典的ASP,所以我认为这样做的唯一直接方法是将此类库作为com对象公开.我需要了解完成这项任务的最简单和肮脏的方法.我必须对我的dll做什么? 我从未在仅使用之前创建一个com对象.有人说我的班级必须是静态的,我不能有构造函数.这是真的?有人可以为我布局吗? 帮助! (o: 编辑:现在解决了这个特定问题,但是正如罗伯特·罗斯尼(Robert Rossney)指出,我对经典ASP中的数据集无能为力.这导致我发布了第二个问题在这里实施 XMLTEXTWRITER-罗伯特(Robert)如果您看到这一点,我认为您真的可以提供帮助! 解决方案 否,那个(静态/否
2 2024-04-22
编程技术问答社区
在.NET中使用asp对象-最大的兼容性
我有一些遗留XSLT脚本,其中将VBScript纳入其中.它们是在旧系统上运行的,我无法更改该系统. 我需要更改XSLT以改变文件. 我构建了一个简单的.NET项目来测试我的XSLT变换: [STAThread] public static void Main(string[] args) { var transform = new XslCompiledTransform(true); //foreach (var file in System.Reflection.Assembly // .GetExecutingAssembly().GetManifestResourceNames() // ) //{ // Console.WriteLine(file); //} //Console.ReadK
4 2024-04-21
编程技术问答社区
从经典ASP调用.Net C# DLL方法
我正在研究一个经典的ASP项目,该项目需要将字符串发送给DLL,该项目将序列化并发送到斑马热打印机. 我已经构建了我的dll并使用 regasm 进行了注册,然后是/codebase ,使IIS识别它. Althougt我可以使用 server.createobject(" mydll")设置我的对象,而我 我很难访问其中的C#方法. DLL的C#代码如下: using System; using System.Runtime.InteropServices; using System.IO; //[assembly: ComVisible(true)] //[assembly: Guid("6c87161d-1e02-40ef-8512-82f30bc1ae3e")] namespace PrintZebra { //[ClassInterface(ClassInterfaceType.None)] /// ///
2 2024-04-20
编程技术问答社区
COM组件中的Server.MapPath
我正在将旧的VBScript WSC组件重写为更好的C#com组件. 出于恐怖的原因 Set objCurr = CreateObject("MTxAS.AppServer.1") Set objCurrObjCont = objCurr.GetObjectContext() Set component.servercontext = objCurrObjCont("Server") 然后将其用于标准Server.MapPath("/somelocation") 但是,我对.NET COM组件中的工作感到困惑,System.Web.HttpContext.Current.MapPath()无法正常工作,因为没有Web上下文. 我尝试将上下文从经典的ASP传递到com组件中,但我不确定要包含哪个参考,因此我可以调用正确的成员,Microsoft.active x Data对象2.7似乎很常见,但这仅包括Recordsets等等,没有C ++ iServer接口,因此
8 2024-04-20
编程技术问答社区
如何从vbScript调用.NET代码(C#/vb.net)?
我想我可以编译一个C#dll,然后将其公开为com对象,以便可以从vbscript中创建它.我只是不确定执行此操作的步骤... 解决方案 这样做可能非常简单.但是在很多地方都不是那么简单.这在很大程度上取决于您的班级需要做什么以及您打算如何部署. 需要考虑的一些问题: 您的班级必须具有无参数构造函数. 它不能暴露静态方法. 将您的com dll部署在全局汇编缓存中吗?如果没有,您将不得不给它一个很强的名称,并使用regasm /codebase. 进行注册. 您是否在乎哪些GUID可以识别班级及其界面?如果没有,您可以让regasm分配它们,但是每次(和每个地方)都会注册它们.如果您需要在安装之间保持不变的GUID,则需要用Guid属性标记成员. 您是否要使用.NET和COM之间的数据类型的默认信息?如果没有,您将需要用MarshalAs属性标记属性和方法. 对您来说,您的班级介绍了哪种com接口?如果是这样,您将需要处理InterfaceType属性.
4 2024-04-20
编程技术问答社区
如何从vbScript调用.NET代码(C#/vb.net)?
我想我可以编译一个C#dll,然后将其公开为com对象,以便可以从vbscript中创建它.我只是不确定执行此操作的步骤... 解决方案 这样做可能非常简单.但是在很多地方都不是那么简单.这在很大程度上取决于您的班级需要做什么以及您打算如何部署. 需要考虑的一些问题: 您的班级必须具有无参数构造函数. 它不能暴露静态方法. 将您的com dll部署在全局汇编缓存中吗?如果没有,您将不得不给它一个很强的名称,并使用regasm /codebase. 进行注册. 您是否在乎哪些GUID可以识别班级及其界面?如果没有,您可以让regasm分配它们,但是每次(和每个地方)都会注册它们.如果您需要在安装之间保持不变的GUID,则需要用Guid属性标记成员. 您是否要使用.NET和COM之间的数据类型的默认信息?如果没有,您将需要用MarshalAs属性标记属性和方法. 对您来说,您的班级介绍了哪种com接口?如果是这样,您将需要处理InterfaceType属性.
8 2024-04-19
编程技术问答社区
ASP.NET MVC(C#)中的经典ASP
我有一个我想(最终)转换为ASP.NET MVC的应用程序.我想进行全面的服务升级(to asp.net),但想使用当前的ASP功能运行当前功能,以便我可以升级小件,同时进行增量升级到新框架.该站点在很大程度上取决于不太成熟的VB6 DLL,因此我们还希望最终也升级此网站,并可能用Web服务替换当前功能.是否有快速修复或此任务是3个月 +任务?另外,我敢肯定,MVC的优点在于,我认为有一种方法可以解决这个问题,尽管我不确定从哪里开始.转换此应用程序的最快方法是什么(在40个小时左右的时间内),我可以在其中进行小型配置更改并在ASP.NET MVC中使用此应用程序? 解决方案 简短的答案是...你不能.经典ASP和ASP.NET之间的差异不仅在语法中,而且在整体设计中都相当巨大. MVC不仅是经典ASP的类似实现,尽管它看起来可能是这样.任何转换都需要时间,思考和精力才能使其完全工作. 好消息是,您可以运行它们SXS,因此实际上可以在设置为ASP.NET或ASP.NET MV
2 2024-04-19
编程技术问答社区
如何设置IIS网站的默认编码?
我的网站是经典ASP和ASP.NET的组合 我的页面的默认编码当前是 iso-8859-1 . 即使没有标签,响应页面也将被编码 iso-8859-1 . 如何将其更改为 utf-8 ? 解决方案 您可以尝试将标头添加到该站点的HTTP响应标头列表中.如果未指定,它将以任何用户代理请求的方式交付,这可能就是为什么您会看到ISO-8859-1 " properties" =>" http标头" =>"文件类型..." =>"新类型...".将要映射的扩展名放入每个扩展程序中分别绘制; IIS用户可能希望映射.htm,.html,...然后,对于内容类型,添加" text/html; charset = utf-8"(无引号;替换您所需的charset to utf-8; 来自: http://www.w.org/international/international/o-http-charset.en.php 其他解决方案 安装.NET
0 2024-04-18
编程技术问答社区
如何为MSMQ创建一个作为Windows服务的C#监听器服务
我首先要说我不是一个.NET开发人员,而是扔进了一个项目,我需要使用MSMQ,因此经典的ASP Web应用程序可以将消息发送到处理处理处理的C#Windows服务.我有将其他消息队列与其他语言整合在一起的经验,但是就像我提到的那样,我对.NET和Windows开发没有太多经验,因此对某些指导表示感谢. 这是我的问题... 有人可以提供一些基本的C#代码来听现有的MSMQ队列,并通过执行简单的事情(例如将当前时间戳写入日志文件或发送电子邮件)来响应新消息? 如何在Visual Studio .NET中打包此代码以创建和安装Windows服务? (应该是哪种类型的项目,等等.我正在使用Visual C#2010 Express.) 最后,我不确定我需要使用经典ASP的要求使用哪种版本和/或实现MSMQ.我认为COM版本是我需要的,但是我也阅读了有关新的WCF版本以及3.0和4.0之间的差异.有人可以给我指示我应该使用哪个版本? 非常感谢! 解决方案 您可
0 2024-04-18
编程技术问答社区
通过COM互操作暴露索引器/默认属性
我正在尝试在C#中编写一个组件,以便经典ASP消费,这使我可以访问组件的索引器(又称默认属性). 例如: C#组件: public class MyCollection { public string this[string key] { get { /* return the value associated with key */ } } public void Add(string key, string value) { /* add a new element */ } } ASP消费者: Dim collection Set collection = Server.CreateObject("MyCollection ") Call collection.Add("key", "value") Response.Write(collection("key")) ' should prin
4 2024-04-12
编程技术问答社区
从经典的ASP访问.NET程序集
我一直在尝试使用 在经典ASP中创建的.NET组件 dim foo set foo = Server.CreateObject("TestAssembly.MyClass") 问题是我遇到了一个错误: Server object error 'ASP 0177 : 800401f3' Server.CreateObject Failed /test.asp, line 4 Invalid class string 我已经按照文章指示使用gacutil和regasm注册了组件(testAssembly.dll):用.NET组件替换旧的经典ASP COM组件我从另一个问题.它提供了两种安装程序集的方法,我已经尝试了两者,但无济于事. 进行此工作将很棒 解决方案 要检查的另一件事:确保您的.NET组件设置为可见. 其他解决方案 在此处查看注册表: * HKLM \ Software \ class * . 如果不存在注册表条目,请确保 Proje
2 2024-04-12
编程技术问答社区
响应.重定向HTTP状态代码
为什么ASP/ASP.NET响应.redirect使用HTTP-302状态代码("暂时移动"),即使在大多数情况下,HTTP-301状态代码("永久移动")会更合适吗? 解决方案 具有状态301的响应应该是可以缓存的,我认为您不希望大多数ASP/ASP.NET重定向. ASP.NET 4.0具有 redirectpermanent /p> 其他解决方案 我已经使用了成功的永久重定向: public void RedirectPermanent(string newPath) { HttpContext.Current.Response.Clear(); HttpContext.Current.Response.Status = "301 Moved Permanently"; HttpContext.Current.Response.AddHeader("Location", newPath); HttpContext.Current.Respon
14 2024-04-12
编程技术问答社区
在经典ASP(或PHP等)中捆绑ASP.NET MVC。
我们拥有的混合应用程序仍在使用经典ASP沿ASP.NET MVC运行该应用程序的一部分.我想在经典ASP中使用捆绑的JavaScript和样式. 在ASP.NET中,我们可以很好地使用捆绑的东西与CACHING一起使用,我们正在使用Script.render,它将版本hash添加到fetch url. 的事情是,这种方法当然在经典的ASP中不可用. 我们可以直接使用HTML 捆绑.版本变量是缓存破坏(强制浏览器刷新)中使用的经典ASP变量.它在版本之间进行了更改. 问题是,如果经典ASP不给出捆绑请求的正确哈希,MVC捆绑将返回标题caching: no-caching,这将指示浏览器不被缓存. 您有好主意吗?可以在经典的ASP中计算出来吗?您能告诉捆绑允许无V =哈希的缓存吗? V = Hash可以从启动中从MVC转移吗?我们有在经典ASP和MVC之间传输变量的机制,但这是从
6 2024-04-05
编程技术问答社区
批量插入记录
我需要从一个表(多行)获取数据,然后在修改和添加一些新字段后插入其他表中. 例如: 表1 itemid, 价格, qnt, date_of_dispatch table2 InvoiceId, 发票, customer_id, itemid, 价格, qnt, total_amt, date_of_dispatch, 孙子 请帮助我将其与MS Access 一起完成ASP 解决方案 从第一个表中的记录中逐一插入记录: : Dim oConn1 Set oConn = Server.CreateObject("ADODB.Connection") oConn.Open "connection string here" Set oRS = oConn.Execute("Select * From Table1") Do Until oRS.EOF strItemId = oRS("item_id") strPri
0 2024-04-05
编程技术问答社区