【问题标题】:MaxArrayLength Exception in WPFWPF 中的 MaxArrayLength 异常
【发布时间】:2023-03-09 17:52:01
【问题描述】:

我正在开发一个项目,该项目是一个网站、一个移动应用程序和一个桌面 WPF 应用程序,它们都依赖于一项服务。移动应用程序运行良好,但由于 MaxArrayLength 属性,桌面和网站在从数据库中获取图像时出现问题。我们能够更改 web.config 文件的 maxArrayLength 属性,网站现在可以正常工作,但桌面应用程序仍然损坏。我们知道我们应该更改 App.config 文件中的某些内容,但无法确定 maxArrayLength 属性应该在哪里(它在什么标签下,等等)。

我们目前通过桌面直接引用服务,并通过网站获得服务引用。有什么方法可以在不添加服务引用并且只保留对服务的直接引用的情况下做到这一点?

【问题讨论】:

  • 您介意发布您的 app.config 吗?是那个秘密吗?
  • 这是 wcf 还是其他 Web 服务。
  • “直接引用”是什么意思?
  • 它是 WCF。直接引用我的意思是,它不是带有端点的服务引用,而是对服务的直接引用。就像我右键单击并“添加引用”而不是“添加服务引用”到项目。我的应用配置目前只是 ** ** 现在什么都不是。
  • 为什么要使用“直接引用”?您是否只调用 Web 应用项目的类中定义的一些业务逻辑?如果是这样,则需要进行一些项目重构。

标签: c# wpf wcf app-config


【解决方案1】:

有没有办法做到这一点 添加服务参考,只是 能够保持直接 引用服务?

您为什么要这样做?

如果您直接引用 WCF 项目,只涉及一些包含的业务逻辑,您的解决方案可能需要一些项目重构。即,您应该在一个单独的项目中拥有所有客户都使用的业务逻辑,以保持高凝聚力。

如果您需要调用 WCF 服务来实际访问所提供的服务(而不仅仅是调用暴露的业务逻辑,如果我的理解是正确的,这可能是您正在做的事情),那么您很可能会想要执行以下任一选项:

选项 A

使用服务引用(而不是项目引用)以便通过自动生成的代理调用 WCF 服务。

选项 B

使用工具(带有一些配置)和 IoC 容器来解决对 WCF 服务的依赖关系。有关如何开始的一些线索,请参阅 this article。这个例子使用Castle's很简单WCF Integration Facility

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多