我有一个在现有WCF服务中实现的接口,我不能为它添加引用
本文关键字:接口 不能 引用 添加 实现 有一个 服务 WCF | 更新日期: 2023-09-27 18:10:05
我有ASDService.svc
:
namespace StatusSimulator
{
[ServiceContract]
public class ASDService
{
[OperationContract]
public void DoWork()
}
[ServiceContract]
public interface IScheduleTables
{
[OperatonContract]
string getTable(string l, int r, int c)
[OperatonContract]
string getTable(string test)
[OperatonContract]
string createTable(List<string> lst, int r, int bal)
}
public class ScheduleTables:IScheduleTables
{
//Interface Implementation
}
}
web.config
:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="NewBehavior0">
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<basicHttpBinding>
<binding name="NewBinding0" />
</basicHttpBinding>
</bindings>
<services>
<service behaviorConfiguration="NewBehavior0" name="StatusSimulator.ASDService">
<endpoint address="http://localhost:2405/ASDService.svc" binding="basicHttpBinding"
bindingConfiguration="NewBinding0" name="ASDEndpoint" contract="StatusSimulator.ASDService" />
<endpoint address="http://localhost:2405/ASDService.svc" binding ="basicHttpBinding"
bindingConfiguration="NewBinding0" name="ScheduleTableEndPoint" contract="StatusSimulator.IScheduleTables" />
</service>
</services>
</system.serviceModel>
我所尝试的绝对不会将接口暴露给服务。我唯一能看到的是ASDService.DoWork
。如何在已有的服务中实现其他类或接口?
我在配置中尝试了两个服务,多个端点。我已经尝试在ASDService内嵌套接口。我在这里读过的教程和帖子比我想提到的要多。现在我得到了错误
合约名称"StatusSimulator"。在服务"ASDService"实现的契约列表中找不到IScheduleTables。
我很困惑,没有想法,如果这种情况继续下去,我将需要专业帮助。
你不应该将一个服务契约(定义在具体类ADsService
上)与另一个服务契约(IScheduleTables
)的实现混合在一起。
IASDService
和IScheduleTables
),然后用一个具体的类实现这两个接口——就像这样:
namespace StatusSimulator
{
[ServiceContract]
public interface IASDService
{
[OperationContract]
public void DoWork()
}
[ServiceContract]
public interface IScheduleTables
{
[OperatonContract]
string getTable(string l, int r, int c)
[OperatonContract]
string getTable(string test)
[OperatonContract]
string createTable(List<string> lst, int r, int bal)
}
public class ServiceImplementation : IADSService, IScheduleTables
{
// implement both interfaces here...
}
}
对于资源:我将使用这些作为初学者:
- 这是WCF上的完整MSDN文档。
还有几本好书——最著名的是Michele Leroux Bustamante的《Learning WCF》。她涵盖了所有必要的主题,并以一种非常易懂和易接近的方式。这将教会你编写高质量、有用的WCF服务所需要知道的一切——基础、中间主题、安全性、事务控制等等。