繁体   English   中英

部署 C# 项目并在安装时添加 web 服务参考

[英]Deployment of C# project and adding web service reference at the time of installation

我有一个要求,应用程序将引用 web 服务。 对于每个新的客户端安装,我需要通过在 VSS 中打开项目并重新添加参考来手动更新参考。

我可以添加参考作为我的安装项目的一部分,还是可以通过 C# 中的代码添加/更新 web 服务参考?

我没有创建设置或 msi 项目的经验。 如果有人也可以为我指出一个好的教程,那就太好了..

只是澄清一下服务没有改变,服务将托管在不同的机器上,所以每次 URI 都会改变。

来自应用配置的片段:我需要通过代码或设置项目更新端点和 servicePrincipalName?

  <endpoint address="net.tcp://rntn1099:8201/AX/Services/APVendInvoice"
  binding="netTcpBinding" bindingConfiguration="NetTcpBinding_VendVendInvoiceService"
contract="VendInvoiceService.VendVendInvoiceService"     name="NetTcpBinding_VendVendInvoiceService"><identity>  < servicePrincipalName value="host/RNTN1099.corp.xyz.com" />

我从来没有听说这是一个实际的要求。 听不懂的人说,运行时可以选择服务的URL。

更新服务引用时,实际上是在更改客户端的代码。 这意味着,至少,您对客户端的所有测试都应该在参考更新之后进行(以便您测试客户端使用的代码)。

当您使用“添加服务引用”时,在底部输入一个命名空间。 这将与您的应用程序的默认命名空间相结合,成为创建多个类的命名空间。 例如,如果您的默认命名空间是“MyWebApp”,并且您在“添加服务引用”中使用“RemoteService”作为命名空间,那么命名空间将是MyWebApp.RemoteService 您可以使用 Visual Studio 中的“视图->对象浏览器”检查此命名空间的内容。

现在,如果服务名为“OrderService”,那么将有一个名为 OrderServiceClient 的 class。 它有几个构造函数。 其中一个构造函数接受配置名称和 URL。 另一个接受配置名称和EndPointAddress 您应该使用两者之一。

这个要求听起来很奇怪。 为什么必须更新参考? 如果服务会改变它的界面,你的客户端就不能再工作了。 所以我假设你的问题是,你想在不同的 url 下访问相同的服务?:如果是。 您不必更新参考。 您可以在不更新参考的情况下配置服务 URl。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM