2016-12-13 36 views
0

目前我正在建立一个中心位置来完成一些常见任务,这些项目应该使用一些项目,并且这将非常好(主要是为了方便,我承认):同一网址上的多项服务

enter image description here

我似乎无法做到这一点。我试过执行multiple interfaces,但那不符合我的要求。它在同一个地方曝光太多。 我有一个假的事情,现在我有三个服务,但在三个不同的地址(/ReportingService.svc,/QueueService.scv和/TicketService.svc),因此上述不会发生(理想情况下只有一个/Services.svc)。

构建对话框的方式似乎支持这种暴露服务的方式(即它说“1个服务(s)在[...]”找到),但我无法找到一个方法来做到这一点。

我认为this可能会有帮助,但我还没有能够使其工作。试图打开listenUri时,我只是得到了一个404。

有没有人有任何好点子?

回答

0

您需要在界面中创建您的方法(并明显在您的服务类中实现这些方法)

[ServiceContract] 
public interface IService 
{ 
    [OperationContract] 
    string method1(int code); 

    [OperationContract] 
    int method2(String id); 
} 

所以,现在你只有一个服务和多个方法在里面。

或者,如果你想让你的组织方法,您可以在您的的Web.config文件服务

<services> 
    <service name="ServicioWeb.IService1"> 

    <endpoint binding="webHttpBinding" 
       contract="ServicioWeb.IService1" 
       behaviorConfiguration="WebBehavior" 
       />   
    </service> 
    <service name="ServicioWeb.IService2"> 

    <endpoint binding="webHttpBinding" 
       contract="ServicioWeb.IService2" 
       behaviorConfiguration="WebBehavior" 
       />   
    </service> 
</services> 

而你的网址会改变一点。像这样: http://localhost:8080/Service1.svc/ ... http://localhost:8080/Service2.svc/ ...

+0

是的,但我需要这个更高的一个级别。假设每个服务都有5个方法/操作。根据你的答案,我可以使用的方法是将它们堆积在一个类中(togeather或partials)。这我已经制定了三个独立的服务。我想要的是将这三个列在相同的URL上,按照我的美丽图像:D – Heki

+0

您可以将_services_添加到您的Web.config文件中。更新我的回答 –

+1

感谢您的努力,但您的编辑描述了_exactly_我​​已经拥有的;每个服务的不同URL。我希望它们都包含在同一个URL中,并按照我在问题中描述的方式分开。 – Heki

相关问题