嗨,我有 2 个服务合同 IService1 和 IService2
我希望每个服务合同都有不同的端点,我也只想使用 basichttpbinding。
假设 IService1 地址是http://localhost:4040/MyApp/Service1.svc那么
我想使用地址http://localhost:4040/MyApp/Service1.svc/service2或使用 IService1 地址以外的地址访问 IService2
是否可以 ?
嗨,我有 2 个服务合同 IService1 和 IService2
我希望每个服务合同都有不同的端点,我也只想使用 basichttpbinding。
假设 IService1 地址是http://localhost:4040/MyApp/Service1.svc那么
我想使用地址http://localhost:4040/MyApp/Service1.svc/service2或使用 IService1 地址以外的地址访问 IService2
是否可以 ?
你是在 IIS 中托管这个吗?如果是这样:IIS 指示您的地址 - 它们被定义为
http://YourServer/YourVirtualDirectory/YourService.svc
因此,如果您想要两个单独的地址,则需要两个单独的虚拟目录....
或者:self-host,那么你有完全的地址自由!
如果您自托管,您绝对可以定义一个公开两个端点的服务(在同一个实现类中实现两个服务接口):
<services>
<service name="YourNamespace.ServiceImplementationClass">
<host>
<baseAddresses>
<add baseAddress="http://localhost:4040/MyApp/Service1.svc" />
</baseAddresses>
</host>
<endpoint name="Service1"
address=""
binding="basicHttpBinding"
contract="YourNamespace.IService1" />
<endpoint name="Service2"
address="Service2"
binding="basicHttpBinding"
contract="YourNamespace.IService2" />
</service>
</services>
因此,您的服务 1 可以在定义的基地址 ( http://localhost:4040/MyApp/Service1.svc
) 处访问,而您的服务 2 将位于http://localhost:4040/MyApp/Service1.svc/Service2
. 这就是你要找的吗??