簡體   English   中英

如何調用非靜態webmethod表單客戶端靜態方法?

[英]how to call non static webmethod form client static method?

我正在嘗試做一些事情,但我不確定它是否被允許在c#這里是我正在做的事情:

我有一個Web方法,它不是一個靜態的:

   [WebMethod]
    public Byte[] recStuff(Byte[] recstuffile)
    {
        myfile = Unzip(muStuff);

        return null;
    }

這是我的客戶:

 public static  XmlDataService.StufServiceSoapClient lhaservice = null;
        public static void Autoupload()
        {
            string fileContents = File.ReadAllText(XMLStuffName);
            string text = fileContents;
            byte r2 = Zip(text);
            lhaservice.recStuff(r2);
        }

我收到錯誤:

Object reference not set to an instance of an object.

我能在這做什么?

這是非常合乎邏輯的。 lhaservice = null。 初始化它。

無論如何,在你的(靜態)構造函數中使用它之前,你必須首先實例化lhaservice

lhaservice = new XmlDataService.StufServiceSoapClient();

...但除非您顯示所有相關代碼,否則我們並不確定您的代碼中可能存在的問題。

注意:如果沒有任何意義,請避免使用靜態類和操作 在使用Autoupload操作之前,將它們設置為非靜態並創建實例。 您的代碼將變得更加靈活和可測試。 所以你可能想重新考慮你的代碼。

暫無
暫無

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

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