首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何创建虚拟WCF服务(内部服务的外部外观)

如何创建虚拟WCF服务(内部服务的外部外观)
EN

Stack Overflow用户
提问于 2014-05-07 13:00:42
回答 2查看 61关注 0票数 1

我有几个内部wcf服务。我需要创建一个只包含来自内部服务的选定操作的外部服务。我不想使用复制/粘贴技术。我已经找到了森特内,但我认为这是一个大而昂贵的解决方案。是否有一个既便宜又简单的解决方案?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-08 04:27:33

代码语言:javascript
运行
复制
public interface IService1 {
        void Operation1();
        void Operation2();
    }

    public class Service1 : IService1 {
        public void Operation1() { }
        public void Operation2() { }
    }

    public interface IService2 {
        void Operation3(String s);
        Int32 Operation4(Int32 n);
    }

    public class Service2 : IService2 {
        public void Operation3(string s) {

        }

        public int Operation4(int n) {
            return 0;
        }
    }

    public interface IMyPublicInterface {
        void Operation1();
        Int32 Operation4(Int32 n);
    }

    public class MyPublicInterface : IMyPublicInterface {
        public MyPublicInterface(IService1 service1, IService2 service2) {
            _service1 = service1;
            _service2 = service2;
        }

        private IService1 _service1;
        private IService2 _service2;

        public void Operation1() {
            return _service1.Operation1();
        }

        public int Operation4(int n) {
            return _service2.Operation4(n);
        }
    }
票数 1
EN

Stack Overflow用户

发布于 2014-05-07 15:42:30

您可以使用接口继承构建内部服务,并重新安排外部服务的公共部分。

举个例子:

代码语言:javascript
运行
复制
[ServiceContract()] public interface IInternalService1 : IInternalService1Public, IInternalService1Private { }
[ServiceContract()] public interface IInternalService1Public { }
[ServiceContract()] public interface IInternalService1Private { }

[ServiceContract()] public interface IInternalService2 : IInternalService2Public, IInternalService2Private { }
[ServiceContract()] public interface IInternalService2Public { }
[ServiceContract()] public interface IInternalService2Private { }

[ServiceContract()] public interface IPublicService : IInternalService1Public, IInternalService2Public { }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23518572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档