gpt4 book ai didi

c# - 无法将 `System.Windows.Forms` 引用添加到我的 WCF 服务库

转载 作者:太空宇宙 更新时间:2023-11-03 20:26:55 24 4
gpt4 key购买 nike

我无法添加 System.Windows.Forms到我的 WCF 服务库。

我想返回一个 List<ListViewItem>从我的方法GetItems(string path) , 我还尝试添加 System.Windows.Forms 的引用但没有找到它看起来像 WCF 服务库不支持它。

我该怎么做?

namespace WcfServiceLibrary1
{
[ServiceContract]
public interface IFileManager
{
[OperationContract]
List<ListViewItem> collection(string path);
}
}

这是我的 Item.cs类:

namespace WcfServiceLibrary1
{
[DataContract]
public class Item
{
[DataMember]
public string name;
[DataMember]
public string path;
[DataMember]
public long size;
[DataMember]
public DateTime date;
}
}

最佳答案

WCF 旨在成为一个可互操作 服务平台,因此我建议不要 使用 .NET 特定数据类型,如 ListViewItem 作为返回值从您的服务类型。毕竟,PHP 或 Ruby 客户端将如何处理这样的对象?

相反:使用您的 Item 类,从您的 WCF 服务返回一个列表,并将其留给调用应用程序根据需要将其转换为 ListViewItem ....

此外:从您的 WCF 服务返回 ListViewItem严重限制该服务的功能。如果某些客户端想要获取该数据,但以其他方式呈现(不是在 ListView 中),他们将无法再使用该服务调用......通过返回 只是数据元素(如您的Item)类,您将其留给调用者来决定如何处理该数据,以及如何在屏幕上显示它。我认为这是一件好事,不应该改变!

关于c# - 无法将 `System.Windows.Forms` 引用添加到我的 WCF 服务库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10135447/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com