然后就不引用dll,直接服务引用,
刚才看了wcf,都是有个接口带特性 [ServiceContract],想让服务暴露的方法带特性 [OperationContract],然后实体类继承这个接口,实现这些方法
那我有个类库M,我想M变成windows服务,引用服务之后才能调用方法,该怎么做?
奇思妙想.
原来项目里是引用一个类库,现在我想把这个类库发布成一个服务,然后项目引用服务就行了,类库怎么变成服务里的东西。不知道怎么弄。
即:
添加引用-->添加服务引用
高人有何指教哇
@猝不及防: 1.远程的是服务.而不是dll
2.dll没有远程的说法
你是要远程服务.还是要远程dll
@吴瑞祥: 我是想将类库里的方法写到服务里,这样就不用引用这个类库,引用服务就行了,
类库里的方法-->服务里的方法,不知道怎么加
(包括这个类库的实例化方法啥的)
@猝不及防: 你先建立下:远程服务调用的概念.
如果是要远程调用一个服务.或者远程执行一段代码(RPC)
就建个wcf项目然后发布到iis上.自宿主成win服务也是可以的.
然后你要远程调用他的项目就添加服务引用就行
如果你想写某个程序而又不知道怎么写的时候,你可以直接说需求,这样别人可以容易理解
原来项目里是引用一个类库,现在我想把这个类库发布成一个服务,然后项目引用服务就行了,类库怎么变成服务里的东西。不知道怎么弄。
即:
添加引用-->添加服务引用
@猝不及防: 添加服务引用就可以添加wcf了,window服务跟界面不太好交互的,是有问题的,window服务一般做些底层的服务吧,我不知道你出于什么目的,你可以说说你的目的是什么,达到什么效果
@jqw2009: mongodb数据库提供了c#的类库进行增删改查,我想把这个类库变成一个服务,然后通过引用这个服务进行增增删改查
@猝不及防: 原来是这样,那用wcf没毛病啊,你闲麻烦用webservice,还闲麻烦直接写在程序内部好了
@jqw2009: .我的难点在于怎么把一个封装好的类库变成wcf-接口-实现类的方式
要想把wcf的方法暴露出来不是需要建立接口继承契约attribute吗?实现类也需要加上attribute,但是mongodb已经封装好的怎么加?源码我也有,但是除了方法,还有属性啥的,构造函数,也能作为数据传吗?我百度了有datacontract,但是我写了一下如今好像没了,只要service,operation,message,messagemember这几个特性
@猝不及防: 你可能没用过wcf或者webservice吧?mongodb只是当做dll来用,在wcf中引用,然后数据的处理都在wcf上处理,客户端传值就好了,比如sql语句或者其他需要lock的方法
@jqw2009: 我是没用过,但是我在windows服务里引用了那个dll库又能怎么样,不加[OperationContract]的话方法不是暴露不出来吗?
@猝不及防: 我不知道程序能不能引用window服务,帮不了你了
@jqw2009: 可以引用服务啊,服务开启就行了啊,现在就是类库转换成wcf的接口-实现类这种不知道怎么转
楼主表达能力差啊。原来就是这么回事。"添加引用-->添加服务引用".WCF服务宿主在windows服务上就可以了啊。跟winform,iiS,控制台一样啊。可以使用http,tcpip等协议的,这是直接配置就行了。具体方法需要自己搞个demo验证一下咯
老哥能再说清楚一点吗?类库用什么宿主...我想用windows服务作为宿主,但是我只有类库,虽然源码我也有,但是我看如果用wcf不是得把每个类的抽象出来一个接口然后加上 [ServiceContract],然后再把每个方法抽象出来加上 [OperationContract],这样做是不是太复杂啦
@猝不及防: 如果你不想用wcf,那就用webservice啊,比wcf相对简单点,其实也是一个意思
宿主程序,宿主程序。。。
啥意思?
你得自己创建一个windows服务的工程,里面去引用那个类库。或者建一个wcf工程也行。
我引用那个类库,然后重新包装一下类库所有的方法?每个方法加[OperationContract]?
@猝不及防: 差不多是这个意思