2015-10-05 73 views
0

我有一個WCF代理類(不知道這是否是代理或服務類)的一些問題,在這裏是上下文:WCF代理類創建空值

我有一個WCF服務,我對消費Web應用程序,此服務調用另一個服務,然後處理響應以將其返回到Web應用程序。這是該方法的構造

 public CreateProjectResponse CreateNewProject(List<CreateProjectRequestProject> projects) 
    { 
     ServiceHelper helper = new ServiceHelper(); 
     CreateProjectResponse response = helper.CreateNewProject(projects); 
     return response; 
    } 

一切都很好,直到響應對象分配。我有我的正確列表「CreateProjectResponseProject」對象。問題是,return語句後,我看到服務類是創建一套新的「CreateProjectResponseProject」的對象,如果是再次調用構造函數和(在這種情況下空)分配的默認值。

有沒有人有一個想法是什麼能發生?我一直在研究,似乎沒有找到任何相關的解決方案。順便說一句...這個過程在以前工作,解決方案沒有任何改變。希望有人能幫忙。謝謝!

編輯:下面是輔助類代碼:

public class ServiceHelper 
{ 

    public CreateProjectResponse CreateNewProject(List<CreateProjectRequestProject> projects) 
    { 
     CreateProjectRequest request = new CreateProjectRequest(); 
     CreateProjectResponse response = new CreateProjectResponse(); 
     ProjectCreator create = new ProjectCreator(); 
     WebServiceConfig configs = new WebServiceConfig(); 

     request.Projects = projects; 

     configs.Password = "XXXXXXX"; 
     configs.Username = "USER"; 
     configs.RemoteAddress = "https://server/listener/connector"; 
     configs.EndpoingConfig = "CreateProjectEndpoint"; 

     try 
     { 
      response = create.CreateProject(configs, request); 
     } 
     catch (Exception ex) 
     { 
      string messageError = "unable to create project:" + ex.Message.ToString(); 
     } 
     return response; 
    } 

} 
+0

「這個過程之前的工作,沒有什麼已經改變了對解決方案」 - 嗯,如果它不是現在的工作,這是之前,那麼* *的東西某處改變。然而,這裏沒有足夠的信息給你很好的幫助 - 至少張貼'ServiceHelper'所以我們可以看到發生了什麼事情的代碼,否則它只是一個猜謎遊戲。 – Tim

+0

嗨!我沒把代碼爲幫手,因爲響應好的工作到這一點....當我打return語句是當方法調用一個新的實例,它是奇怪,因爲我已經對我的情況下, 「響應」對象。無論哪種方式,我都會使用所需的代碼編輯問題。 –

+0

原來,代理類是一個製造意想不到的事情......我使用的是直接的輔助類從網站解決方案,結果是理所應當,這是不是真的對我一個答案,但這個過程是沒有中間體。謝謝! –

回答

0

我用的是WCF服務作爲中間傳達給另一個服務,我去掉了中間,並直接從Web打電話給我的助手類應用程序(具有適當的端點配置),現在一切正常。