簡體   English   中英

C#中的Web服務和命名空間

[英]WebServices & Namespace in C#

我有一個帶有名稱空間的Web服務,如下所示:

namespace MyNS
{
    class MyObject
    {
        //Implementation here
    }
}

我發布了該Web服務,並嘗試從下一個C#網站使用該Web服務。

我將服務名稱分配給“ MyWS”。

當我嘗試編寫代碼時

我要寫

MyWS.MyObject obj = new MyWS.MyObject();

但是我想寫

MyWS.MyNS.MyObject obj = new MyWS.MyNS.MyObject();

問題是MyObject類可能在其他命名空間下存在。 因此,我想通過NameSpaces來標識我的類。

我應該怎么做才能在編碼中使用命名空間?

我不認為原始名稱空間是作為WSDL的一部分公開的,而這正是生成過程用來創建客戶端端點的。

這意味着無法控制您的Web服務用作什么名稱空間。

但是,您可以控制客戶端端點使用什么名稱空間。 當您添加服務引用時,第一頁的底部(標題為“添加服務的引用並包含發現”控件)是一個標題為“名稱空間”的文本框。 如果在添加服務時將該字段更改為MyWS.MyNS ,則應允許您這樣引用它。

問題是MyObject類可能在其他命名空間下存在。 因此,我想通過NameSpaces來標識我的類。

如果您嘗試使用沖突的對象名稱,編譯器將給您一個模棱兩可的引用錯誤。 在這種情況下,您將必須使它們合格。

因此,如果要給它一個別名,只需輸入所需的名稱即可。

namespace This.Is.My.Favorite.Namespace
{
    public class MyObject()
    {
      //stuff
    }
}
namespace MyNS.MyWS
{
    class MyObject
    {
        //Implementation here
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM