【问题标题】:Reuse types generated with a ASMX web service重用由 ASMX Web 服务生成的类型
【发布时间】:2012-03-05 00:17:16
【问题描述】:

Silverlight 应用程序 (App1) 当前使用 ASMX Web 服务。 Web 服务具有对包含类的程序集的引用。 silverlight 应用程序使用这些“类/对象”与 ASMX Web 服务进行通信。

另一个 ASMX Web 服务也包含对具有相同类的完全相同程序集的引用。此 ASMX Web 服务正在另一个 Silverlight 应用程序 (App2) 中使用。

因此,这些 Web 服务包含对同一程序集的程序集引用。

Silverlight 应用程序包含用于与 Web 服务通信的所谓“服务引用”。第一个 Silverlight 应用程序 (App1) 实现了一个位于第二个应用程序 (App2) 中的用户控件。

虽然 Web 服务使用相同的类,但它们位于不同的命名空间中。

例如,App1.ServiceReference1.SomeClass 和 App2.ServiceReference2.SomeClass 。

是否可以重用两个 Silverlight 项目中的类而不映射它们?

【问题讨论】:

    标签: c# .net silverlight types asmx


    【解决方案1】:

    我没有对 Silverlight 进行此操作,但是如果您将共享程序集的引用添加到您的 Silverlight 项目中,然后确保您在服务引用中设置了“重用类型”,会发生什么情况?

    【讨论】:

    • Silverlight 不允许我将常规 C# 类库作为程序集引用添加到 Silverlight 项目。它只接受 Silverlight 类库。但是,在 ASMX Web 服务中添加了一个常规 C# 类库作为程序集引用。
    • ASMX 服务可以使用 Silverlight 库吗?
    • 我已经尝试过了,它会产生以下警告:“无法引用项目'TestLibrary'。引用的项目针对不同的框架系列(Silverlight)”。我还尝试将 Silverlight 类库类实例提供给 ASMX Web 服务方法(作为参数),它会产生以下错误。 "参数 1:无法从 'TestLibrary.Class1' 转换为 'App1.ServiceReference2.Class1'。
    • 你可能不走运。它是 Silverlight 的事实改变了一切。有没有类似可移植库类型的东西?
    • -编辑:我已经设法让它工作了。我添加了对 Silverlight 类库程序集 (dll) 的引用,而不是项目本身。这似乎奏效了。在阅读 blogs.msdn.com/b/dotnet/archive/2009/12/01/… 的共享程序集后,我已经尝试过。我现在可以只使用一个(Silverlight)类库并使用这些对象与 Web 服务甚至在两个应用程序之间进行通信!但是,我使用了 WCF Web 服务 (svc) 而不是 ASMX。我将尝试使用 ASMX 和 2 个 Web 服务项目。
    猜你喜欢
    • 1970-01-01
    • 2013-03-27
    • 2012-09-21
    • 2018-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多