gpt4 book ai didi

c# - WCF 服务中添加的新功能未在客户端上显示

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

我有一个基于 Asp.net MVC 的简单 Web 应用程序。我创建了一个 WFC 服务,因此我可以将数据传输到我的 Windows 8.1 应用程序,但我的新功能没有显示在我的客户端。

这是我的 WFC 代码:

[DataContract]
public class Service1 : IService1
{
ApplicationDbContext _db=new ApplicationDbContext();

public string GetData(int value)
{


return string.Format("You entered: {0}", value);
}

public WtFImages.Models.Images GetDataL(int value)
{
var User = _db.Image.Local.FirstOrDefault(c => c.Id == value);

return User;
}
public List<WtFImages.Models.Images> GetDataAll(int value)
{
var GetAllPublic = _db.Image.Local.ToList();

return (GetAllPublic);
}

public IList<WtFImages.Models.Images> ZGetDataAll(int value)
{
var GetAllPublic = _db.Image.Local.ToList();

return (GetAllPublic);
}
public CompositeType GetDataUsingDataContract(CompositeType composite)
{
if (composite == null)
{
throw new ArgumentNullException("composite");
}
if (composite.BoolValue)
{
composite.StringValue += "Suffix";
}
return composite;
}
}
}

我的客户端只显示默认功能。

enter image description here

服务代码

namespace ImageFechingWfc
{
// NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService1" in both code and config file together.
[ServiceContract]
public interface IService1
{

[OperationContract]
string GetData(int value);

[OperationContract]
CompositeType GetDataUsingDataContract(CompositeType composite);

// TODO: Add your service operations here
}


// Use a data contract as illustrated in the sample below to add composite types to service operations.
[DataContract]
public class CompositeType
{
bool boolValue = true;
string stringValue = "Hello ";

[DataMember]
public bool BoolValue
{
get { return boolValue; }
set { boolValue = value; }
}

[DataMember]
public string StringValue
{
get { return stringValue; }
set { stringValue = value; }
}
}
}

最佳答案

您想要公开为服务方法的每个方法都应该存在于您的IService1 接口(interface)中并且应该用[OperationContract] 修饰,那么您应该在服务类中实现该方法。

  • 打开 IService1.cs 并将方法的签名放入 IService1 接口(interface),然后使用 [OperationContract] 装饰新方法,然后放入实现在 Service1 中重建项目,然后添加您的服务引用并使用它。
  • 此外,您不需要在服务实现之上使用 [DataContract]

例如,如果你想在你的服务中使用 int Add(int x, int y) 方法,将它放在你的 IService1 接口(interface)中:

[OperationContract]
int Add(int x, int y);

然后将其放入您的 Service1 类中:

public int Add(int x, int y)
{
return x+y;
}

要了解有关 WCF 服务的更多信息,您可以阅读此 Getting Started Tutorials

关于c# - WCF 服务中添加的新功能未在客户端上显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33061478/

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