问题标签 [proxy-classes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3332 浏览

c# - 来自 WSDL 的详细服务描述/代理

我正在使用类 ServiceDescription / ServiceDescriptionImporter 来动态调用 Web 服务。我想更深入地研究 WSDL 描述并获得

1) 每个网络方法的参数信息

2)所有Web方法的实际类型/组成每个参数(即,如果WebMethod采用某些复杂类型作为参数,我需要知道它所组成的原始/其他类型,如果可能的话)

这是我用于动态调用的代码:

我已经能够找到一些基本信息,例如方法名称、参数信息,但我需要更深入的分析。例如,我需要访问 Wsdl.exe 在代理类中生成的基本上所有信息,但我不想运行 Wsdl.exe,只需动态发现这些信息。对于每个方法,我需要知道它的返回类型是由什么组成的,它的参数是由什么组成的,等等。我知道它在 WSDL 中,只是不确定如何以编程方式提取它。以下是我一直在探索的一些课程:

似乎很多都是空的?

提前致谢。

编辑

我更进一步,这是我试图遍历的 xml 模式(WSDL):

这是要遍历的代码:

这让我更进一步,但还没有得到 ComplexType 的 complexContent。在控制台中产生以下输出:

会话会话

0 投票
2 回答
979 浏览

.net - 在 Biztalk 中使用代理类

我有一个代理类(用 WDSL 创建)。

现在我想用它来开发一个 Biztalk 应用程序。

我如何使用代理类来发送和接收消息。我知道使用代理类配置端口的过程。我遇到的唯一问题是为我的消息使用代理类?

0 投票
2 回答
411 浏览

c# - 如何用 C# 编写代理?

我编写了一个具有多用户的 Web 应用程序。他们是选择数据或插入数据,每件事都是这样。但是选择一些数据需要太多时间,例如使用 LINQ 或数学计算。我的事情:我的用户1:

我的用户 2:

我的用户 3:

如果另一个用户更新表,如何编写代理服务器以选择更快并更新选择结果?

在此处输入图像描述

0 投票
1 回答
1627 浏览

java - 反射代理 - 类加载器问题的可见性

我正在尝试:
1)从给定文件位置加载接口和实现类
2)创建一个具有与接口匹配的反射的代理对象,并将所有调用定向到实现类

这稍后用于使用 JUnit 进行测试。

问题:
但是,当我尝试创建代理对象时,我似乎遇到了问题。我得到了例外:

有问题的行如下:

类加载正确的方式?
我正在使用 URLClassLoader 加载我需要的类。代码片段如下:

然而,这是正确的吗?这个片段会为每个类文件重复,所以我相信每次创建一个新的类加载器。这会导致我的问题吗?我该如何解决这个问题?

提前感谢您提供的任何帮助

0 投票
1 回答
1808 浏览

.net - 帮助创建通用 WCF 服务调用程序 - 泛型、委托和 lambda

我正在尝试创建一个通用的 WCF 服务调用程序实用程序,但我对泛型、委托和 lambda 的了解让我在最后的障碍中失败了。

我希望能够封装调用我的 WCF Web 服务的身份验证和期望处理,以便我可以只使用接口、请求和响应类来使用 Web 服务。

我不明白如何传入我想要执行的方法名称 - 我已经尝试过 Func<> 路由,但是因为我在下面实现的递归错误而感到困惑。我也不想走硬编码的字符串/反射路线——我希望这是一个强类型的类。

请帮忙!

谢谢

0 投票
3 回答
1233 浏览

json - 如何在 Hibernate 中获取未经代理和 EAGER 获取的对象?

我想加载一个对象并忘记它来自休眠!就是这样,我只是做一些事情:

而且我有一个真实的 myObj 实例(而不是来自 Hibernate 代理),所有属性都设置了数据库中的值,所以我无法将它与手动创建的对象区分开来。

这个线程中,存在一种创建未代理对象的方法,但它没有处理急切加载对象的问题,我认为这是实现我的最终目标所必需的。

对于那些想知道为什么我想要这样的对象的人,我需要用 Gson 序列化到 Json,但我认为它对很多人来说还有很多其他用途。

0 投票
1 回答
2895 浏览

c# - Web 服务不处理来自具有代理类的同一应用程序的多个同时请求

我有一个应用程序调度多个任务,这些任务正在调用不同的 Web 服务,一些相同的 Web 服务但不同的方法。每个任务都在一个时间间隔内执行,每个任务都在自己的线程中运行。为了获得对 web 服务的引用,我有一个 wsdl.exe 生成的代理类,它在每个任务中被实例化并且总是被处理掉。但是,在运行应用程序时,任务实际上是在服务请求中相互等待,Web 服务在完成处理来自任务 x 的请求之前不会处理来自任务 y 的服务请求(我可以看到这一点,因为来自任务 x 的服务调用可能需要5 分钟和任务 y 100 毫秒,但是如果 y 在 x 运行时开始,它会在 x 完成后 100 毫秒完成)。

这是来自任务的代码(在自己的线程中运行):

这是上面提到的工厂方法的代码:

有谁知道我为什么会遇到这种行为?

编辑:

这是我将 [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)] 添加到我的 wcf 服务的实现之后的一些任务日志。我没有对在 Visual Studio 2008 中创建的 wcf 服务进行任何配置更改。

15:02 - 任务开始:TaskXWithInternalException

15:02 - 任务开始:TaskYQuickOne

15:02 - 任务结束:TaskYQuickOne 任务经过时间:00:00:00.1214762

15:02 - 任务开始:TaskZSlowOne

15:03 - 任务开始:TaskXWithInternalException

15:03 - 任务开始:TaskYQuickOne

15:05 - 任务结束:TaskZSlowOne 任务经过时间:00:03:11.6510947

15:05 - 任务结束:TaskYQuickOne 任务经过时间:00:02:09.7311905

15:06 - 任务开始:TaskYQuickOne

15:06 - 任务结束:TaskYQuickOne 任务经过时间:00:00:00.0546980

0 投票
1 回答
1409 浏览

wcf - WCF 代理生成问题

我在 VS2010 中遇到代理生成问题。

我特别使用 WCF 和 Pub/Sub 模式创建了一个客户端/服务器应用程序。该服务在本地运行良好,但是虽然我可以在服务器上启动该服务并可以通过我的浏览器通过相关 url 访问它,但我无法“配置服务参考”而不收到以下错误:

网址为 http://cfplonbs2:8686/TradePortal的文档未被识别为已知文档类型。来自每种已知类型的错误消息可能会帮助您解决问题: - 来自“XML Schema”的报告是“无法识别文档格式(内容类型为 'text/html; charset=UTF-8')。”。- 来自“http://cfplonbs2:8686/TradePortal”的报告是“无法识别文档格式(内容类型为“text/html;charset=UTF-8”)。- 来自“DISCO 文档”的报告是“下载“http://localhost:8686/TradePortal?disco”时出错。”。- 无法连接到远程服务器 - 无法连接,因为目标机器主动拒绝它 127.0.0.1:8686 - 来自“WSDL 文档”的报告是“无法识别文档格式(内容类型为 'text/html ; 字符集=UTF-8').'。元数据包含无法解析的引用:“http://cfplonbs2:8686/TradePortal”。没有端点监听 http://cfplonbs2:8686/TradePortal可以接受该消息。这通常是由不正确的地址或 SOAP 操作引起的。有关更多详细信息,请参阅 InnerException(如果存在)。远程服务器返回错误:(404) Not Found。如果在当前解决方案中定义了服务,请尝试构建解决方案并再次添加服务引用。

我感到困惑的是,当我使用 svcutil.exe 工具并手动生成代理时,我可以让代码工作,我对这种方法的问题是它不像 VS2010 代理那样干净,而且它们没有实现 iNotifyPropertyChanged 接口.

这可能是阻止访问的服务器上的防火墙设置吗?在本地生成的代理中是否有更改我绑定的机器名称的快捷方式?

我在服务器端的 app.config 是:

关于我要去哪里错的任何想法?

0 投票
3 回答
887 浏览

nhibernate - 如何使用一些初始化字段(Id 除外)创建 NHibernate 代理对象?

我想创建一个对象代理,类似于 ISession.Load 返回的内容,但初始化了一些字段。对于其他属性,当访问时,代理将从数据库中获取整个对象。考虑以下示例:

在我的例子中,Id、UserName、Email 是众所周知的,所以我可以创建一个包含这些字段的对象代理,而其他字段则保留默认代理行为。除了在数据库中找不到此 id 时抛出异常之外,如果预初始化字段不匹配或静默覆盖它们,我可以抛出异常。我将 NHibernate.ByteCode.Castle 用于代理工厂。

编辑:这样做的目的是能够从可以在其他地方查询的实体(例如,lucene 索引)获得一些投影属性,并避免数据库调用。然后,我不想将这些字段包装在仅包含这些属性子集的自定义组件类中,而是想直接使用代理对象,以便能够在需要时加载其余字段。在最好的情况下,我根本不会访问数据库,但在某些极端情况下,我也想访问其他字段。使用批处理可以大大减少 SELECT N+1 问题的影响。我想使用的一个假设版本的代码是:

0 投票
5 回答
1730 浏览

java - Java/JSF/Tomcat/Spring - Proxy-Object 具有与原始对象不同的方法

今天我遇到了这个问题,这真的让我很烦恼,因为几乎代码已经工作(并且即使在恢复到旧版本后也停止工作)。

我正在访问 Facelets 页面上的 Spring-Bean。Spring 将这些对象包装在代理中以使用方面和其他一些东西。

问题是,我在尝试访问 bean 的属性时遇到异常。例外是这样的:

我确定(!!)那里有相应的 getter/setter 方法。到目前为止我尝试过的事情:

  • 将应用程序部署到另一个 Tomcat 安装
  • 清除所有tomcat-caches,webapp-directory
  • 清理 eclipse 项目
  • 使用 javap 检查相应的方法(以及那里的方法/属性)
  • 改变bean的范围
  • 更改bean的类名
  • 更改spring bean-id
  • 更改 bean 的 serialVersionUID

无论我做什么,类加载器都以某种方式未正确包装或未正确加载。

有谁知道什么会导致这样的问题?我不知道还要尝试什么,所以非常感谢任何建议!

提前致谢!

问候,罗伯特