首页 新闻 会员 周边

c# 想将一个类库dll包装成windows服务,

0
悬赏园豆:10 [已解决问题] 解决于 2017-09-29 09:32

然后就不引用dll,直接服务引用,

 

刚才看了wcf,都是有个接口带特性 [ServiceContract],想让服务暴露的方法带特性  [OperationContract],然后实体类继承这个接口,实现这些方法

 

那我有个类库M,我想M变成windows服务,引用服务之后才能调用方法,该怎么做?

猝不及防的主页 猝不及防 | 老鸟四级 | 园豆:2781
提问于:2017-09-14 12:18
< >
分享
最佳答案
0

奇思妙想.

收获园豆:3
吴瑞祥 | 高人七级 |园豆:29449 | 2017-09-14 12:51

原来项目里是引用一个类库,现在我想把这个类库发布成一个服务,然后项目引用服务就行了,类库怎么变成服务里的东西。不知道怎么弄。

即:

添加引用-->添加服务引用

高人有何指教哇

猝不及防 | 园豆:2781 (老鸟四级) | 2017-09-14 13:10

@猝不及防: 1.远程的是服务.而不是dll

2.dll没有远程的说法

你是要远程服务.还是要远程dll

吴瑞祥 | 园豆:29449 (高人七级) | 2017-09-14 14:35

@吴瑞祥: 我是想将类库里的方法写到服务里,这样就不用引用这个类库,引用服务就行了,

类库里的方法-->服务里的方法,不知道怎么加

(包括这个类库的实例化方法啥的)

猝不及防 | 园豆:2781 (老鸟四级) | 2017-09-14 14:41

@猝不及防: 你先建立下:远程服务调用的概念.

如果是要远程调用一个服务.或者远程执行一段代码(RPC)

就建个wcf项目然后发布到iis上.自宿主成win服务也是可以的.

然后你要远程调用他的项目就添加服务引用就行

吴瑞祥 | 园豆:29449 (高人七级) | 2017-09-14 14:45
其他回答(4)
0

 如果你想写某个程序而又不知道怎么写的时候,你可以直接说需求,这样别人可以容易理解

收获园豆:3
jqw2009 | 园豆:2439 (老鸟四级) | 2017-09-14 12:54

原来项目里是引用一个类库,现在我想把这个类库发布成一个服务,然后项目引用服务就行了,类库怎么变成服务里的东西。不知道怎么弄。

即:

添加引用-->添加服务引用

支持(0) 反对(0) 猝不及防 | 园豆:2781 (老鸟四级) | 2017-09-14 13:10

@猝不及防: 添加服务引用就可以添加wcf了,window服务跟界面不太好交互的,是有问题的,window服务一般做些底层的服务吧,我不知道你出于什么目的,你可以说说你的目的是什么,达到什么效果

支持(0) 反对(0) jqw2009 | 园豆:2439 (老鸟四级) | 2017-09-14 15:16

@jqw2009: mongodb数据库提供了c#的类库进行增删改查,我想把这个类库变成一个服务,然后通过引用这个服务进行增增删改查

支持(0) 反对(0) 猝不及防 | 园豆:2781 (老鸟四级) | 2017-09-14 15:28

@猝不及防: 原来是这样,那用wcf没毛病啊,你闲麻烦用webservice,还闲麻烦直接写在程序内部好了

支持(0) 反对(0) jqw2009 | 园豆:2439 (老鸟四级) | 2017-09-14 15:30

@jqw2009:  .我的难点在于怎么把一个封装好的类库变成wcf-接口-实现类的方式

要想把wcf的方法暴露出来不是需要建立接口继承契约attribute吗?实现类也需要加上attribute,但是mongodb已经封装好的怎么加?源码我也有,但是除了方法,还有属性啥的,构造函数,也能作为数据传吗?我百度了有datacontract,但是我写了一下如今好像没了,只要service,operation,message,messagemember这几个特性

支持(0) 反对(0) 猝不及防 | 园豆:2781 (老鸟四级) | 2017-09-14 17:31

@猝不及防: 你可能没用过wcf或者webservice吧?mongodb只是当做dll来用,在wcf中引用,然后数据的处理都在wcf上处理,客户端传值就好了,比如sql语句或者其他需要lock的方法

支持(0) 反对(0) jqw2009 | 园豆:2439 (老鸟四级) | 2017-09-15 10:06

@jqw2009: 我是没用过,但是我在windows服务里引用了那个dll库又能怎么样,不加[OperationContract]的话方法不是暴露不出来吗?

支持(0) 反对(0) 猝不及防 | 园豆:2781 (老鸟四级) | 2017-09-15 10:37

@猝不及防:  我不知道程序能不能引用window服务,帮不了你了

支持(0) 反对(0) jqw2009 | 园豆:2439 (老鸟四级) | 2017-09-15 10:39

@jqw2009: 可以引用服务啊,服务开启就行了啊,现在就是类库转换成wcf的接口-实现类这种不知道怎么转

支持(0) 反对(0) 猝不及防 | 园豆:2781 (老鸟四级) | 2017-09-15 11:08
0

楼主表达能力差啊。原来就是这么回事。"添加引用-->添加服务引用".WCF服务宿主在windows服务上就可以了啊。跟winform,iiS,控制台一样啊。可以使用http,tcpip等协议的,这是直接配置就行了。具体方法需要自己搞个demo验证一下咯

收获园豆:2
数据酷软件 | 园豆:130 (初学一级) | 2017-09-14 13:57

老哥能再说清楚一点吗?类库用什么宿主...我想用windows服务作为宿主,但是我只有类库,虽然源码我也有,但是我看如果用wcf不是得把每个类的抽象出来一个接口然后加上 [ServiceContract],然后再把每个方法抽象出来加上  [OperationContract],这样做是不是太复杂啦

支持(0) 反对(0) 猝不及防 | 园豆:2781 (老鸟四级) | 2017-09-14 14:13

@猝不及防: 如果你不想用wcf,那就用webservice啊,比wcf相对简单点,其实也是一个意思

支持(0) 反对(0) jqw2009 | 园豆:2439 (老鸟四级) | 2017-09-14 15:17
1

宿主程序,宿主程序。。。

~扎克伯格 | 园豆:1923 (小虾三级) | 2017-09-14 17:45

啥意思?

支持(0) 反对(0) 猝不及防 | 园豆:2781 (老鸟四级) | 2017-09-15 08:35
0

你得自己创建一个windows服务的工程,里面去引用那个类库。或者建一个wcf工程也行。

收获园豆:2
西漠以西 | 园豆:1675 (小虾三级) | 2017-09-15 09:38

我引用那个类库,然后重新包装一下类库所有的方法?每个方法加[OperationContract]?

支持(0) 反对(0) 猝不及防 | 园豆:2781 (老鸟四级) | 2017-09-15 10:36

@猝不及防: 差不多是这个意思

支持(0) 反对(0) 西漠以西 | 园豆:1675 (小虾三级) | 2017-09-15 15:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册