2012-01-20 58 views
0

我有我在主应用程序中引用的标准类库基础结构程序集。 基础架构程序集内部使用webservice并向我的主应用程序公开功能。服务参考配置

为了让它工作,我需要在我的主应用程序中添加一个引用到webservice,否则我得到一个Endpointexeption。如果我添加它一切工作正常。在我看来,基础设施DLL读取主要应用程序app.config中的信息,因此条目必须在那里。但似乎很奇怪,我不能公开通过外部DLL的Web服务,因为主应用程序不直接调用Webservie。更奇怪的是,web服务忽略了主应用程序的安全模式,并从外部dll的app.config中读取它。

如果即时通讯正确的我的假设,我如何暴露一个web服务在外部dll与主要的应用程序知道web服务。

回答

1

在您的类库项目中添加服务引用时,必须确保生成的代理是Internal。

更多信息:

C#, WCF, Hide web service through dll

这将隐藏WCF接口的客户端。

如果您不希望使用您的类库项目的客户端需要在其app/web.config中添加WCF配置密钥,则您的库必须在代码中配置EndPoint /地址/绑定(硬编码),但我不会推荐你沿着这条路走下去,就好像WCF那边的东西发生了变化,你的类库不再工作了

+0

感谢您的回答,我做了您推荐的内容,并在暴露web服务方法的基础架构中添加了一个类,但仍遇到同样的问题。如果我在主应用程序app.config中添加信息,那么它的工作原理 – klashagelqvist

+0

如果编辑了我的答案 –

+0

我接受了你的观点,不要在内部配置端点/绑定,并在主app.config中添加必要的信息。谢谢 – klashagelqvist

0

你不需要添加服务引用到你的主应用程序,但你必须将相关配置复制到主app.config