0

我有一个由我创建的 Web 服务,我成功地将其包含在 .NET 控制台项目中,而无法将其包含到网站项目中。每次我添加一个网络引用,我的助手在本地都没有找到服务,但是如果我引入网络 URL,它就在那里。此外,控制台应用程序中自动生成的类与网站应用程序中生成的类完全不同。

Web 服务是 WFC 服务,它有回调函数,所以我需要一些类似的接口IServiceLectorTarjetasSharpCallback,当我添加对我的网站的引用时我找不到。

我正在使用 VS 2015。

4

1 回答 1

0

我会尽可能避免代码生成。如果你愿意,试试这个:

  1. 创建契约程序集以定义服务接口和契约:

[ServiceContract] public interface IService { [OperationContract] CustomResponse Test(string test); } public class CustomResponse { }

  1. 导入合约dll,在服务项目中正常实现服务:

public class ServiceImplementation : IService { public CustomResponse Test(string test) { return new CustomResponse(); } }

  1. 在客户端程序集引用合同中实现客户端:

public interface IServiceClient { CustomResponse Test(string test); } public class ServiceClient : ClientBase< IService>, IServiceClient { public CustomResponse Test(string test) { return Channel.Test(test); } }

  1. 消费客户端:

IServiceClient client = new ServiceClient(); //or some DI var result = client.Test("Test");

于 2016-04-14T16:49:54.337 回答