簡體   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