将字典对象从经典 ASP 传递到 C#

发布于 2024-12-03 17:47:26 字数 618 浏览 1 评论 0原文

我正在从经典的 asp 调用 C# com 互操作 dll。

我想将名称值对发送到 c# dll。

尝试在经典 asp 中使用字典对象并在 C# 中使用相同的字典对象(scripting.runtime com 引用)接受它。

但它给出了无效的过程调用或参数错误。

我从这个链接得到了使用 scripting.dictionary 的想法 http://www.eggheadcafe.com/community/aspnet/2/10016705/is-there-any-way-to-pass-a-dictionary-object-to-c.aspx

可能我遗漏了一些东西

问题

  1. 我遗漏了一些东西还是有更好的方法来传递键值 从经典 asp 到 C# 的配对。
  2. 我也在考虑使用这个库 asp3tojson 和 在 C# 中反序列化。是不是太复杂了?

i'm calling a C# com interop dll from classic asp.

i want to send name value pairs to the c# dll.

tried using dictionary object in classic asp and accepting it using the same dictionary object (scripting.runtime com reference) in C#.

But it gives Invalid procedure call or argument error.

I got this idea of using scripting.dictionary from this link
http://www.eggheadcafe.com/community/aspnet/2/10016705/is-there-any-way-to-pass-a-dictionary-object-to-c.aspx

may be im missing something

Questions

  1. am i missing something or is there a better way to pass key value
    pairs from Classic asp to C#.
  2. i'm also considering using this library asp3tojson and
    deserializing in C#. is it too complicated?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

云淡月浅 2024-12-10 17:47:26

我会将其转换为 JSON。至少要知道不存在对象级互操作性问题,尤其是在混合各种 MS 对象时。

I'd convert it to JSON. At least to know there are no object-level interoperability problems, especially when it comes to mixing in various MS objects.

芸娘子的小脾气 2024-12-10 17:47:26

你好。可以在 ASP 经典应用程序中使用 System.Collections.HashTable以及 mscorlib 中的许多其他内容)。
尝试以下操作。希望有用。
Asp 应用程序:

Option Explicit
Dim Dictionary, objNetCom, i

Set Dictionary  = Server.CreateObject("System.Collections.HashTable")
Set objNetCom   = Server.CreateObject("MyTest.doTest")

With Dictionary
    For i = 65 To 90
        .Add Chr(i), i 
    Next
End With
Response.Write objNetCom.getDictType(Dictionary) 

Set Dictionary  = Nothing
Set objNetCom   = Nothing

ac# Com 可见:

using System;
using System.Collections;

namespace MyTest
{
    public class doTest
    {
        public string getDictType(Object tDict)
        {
            return String.Format("Type : \"{0}\", Count : {1}", ((Hashtable)tDict).GetType().ToString(), ((Hashtable)tDict).Count);
        }
    }
}

Hi. It's possible to use System.Collections.HashTable (and many other from mscorlib) within asp classic applications.
Try the following. Hopefully useful.
Asp App:

Option Explicit
Dim Dictionary, objNetCom, i

Set Dictionary  = Server.CreateObject("System.Collections.HashTable")
Set objNetCom   = Server.CreateObject("MyTest.doTest")

With Dictionary
    For i = 65 To 90
        .Add Chr(i), i 
    Next
End With
Response.Write objNetCom.getDictType(Dictionary) 

Set Dictionary  = Nothing
Set objNetCom   = Nothing

a c# Com Visible:

using System;
using System.Collections;

namespace MyTest
{
    public class doTest
    {
        public string getDictType(Object tDict)
        {
            return String.Format("Type : \"{0}\", Count : {1}", ((Hashtable)tDict).GetType().ToString(), ((Hashtable)tDict).Count);
        }
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文