c# - 在 .NET 和 Silverlight 应用程序之间共享 WCF 客户端代码?

标签 c# .net silverlight wcf

我正在开发一个同时具有 WinForms 和 Silverlight 客户端的 .NET 应用程序。虽然大部分代码将在服务器中,但我也需要在客户端中有相当多的逻辑,并且我希望保持客户端库代码相同。

据我目前所知,我需要两种不同的项目类型,一个类库和一个 Silverlight 类库,并将一个项目的文件链接到另一个项目。这看起来有点蹩脚,但它适用于简单的代码。

不过,我的问题是 SVCUtil.exe 生成的用于访问 WCF 服务的代码与 slsvcutil.exe 生成的代码不同,并且silverlight 代码实际上与 .NET 代码不兼容:当我尝试将 System.ServiceModel.Channel 类导入 .NET 时,我遇到了一堆问题。

有没有人做过类似的事情?我做错了什么?

最佳答案

不幸的是,从 Silverlight 3 和 .NET 3.5sp1 开始,没有二进制兼容性。您必须共享文件,并维护两个独立的库。

但是,Silverlight 4 和 .NET 4 将提供某种程度的二进制兼容性。根据您在客户端使用的程序集,您可以在 Silverlight 和 Windows 窗体中使用相同的组件。

关于c# - 在 .NET 和 Silverlight 应用程序之间共享 WCF 客户端代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2479777/

相关文章:

c# - 将 DispatcherTimer 与 Windows 服务一起使用

c# - DefaultValueAttribute 似乎没有效果

c# - 使用 LINQ 将分层结果集转换为自定义对象

.NET 开发人员开始社交网站,建议?

silverlight - 使 TextBlock 文本逐个字符显示

silverlight - XAML:当子对象的 ScaleTransform 变大时,使 ScrollViewer 显示滚动条

c# - 如何在 PowerShell 或 C# 中获取进程的命令行信息

c# - MongoDB C# 从 ID 列表中获取所有文档

.net - 在 C++/CLI 包装类中转换异常的最佳实践

c# - 如何在 Windows Phone 键盘上获得提交按钮?