2010-03-19 6 views
1

J'ai un service web, j'ajoute une classe supplémentaire qui a un contrat de message et après cela il a changé la façon dont nous accédons à certaines méthodes (et je n'ai pas ajouté de contrat à ces classes contrats de données), plus tôt, c'est-à-dire avant de pouvoir créer un objet pour la requête et la réponse (comme dans la partie Avant), nous créons un seul objet pour la classe OrderStatusResponse. Mais si vous voyez maintenant l'After (nous devons créer des objets séparés pour la requête et la réponse).Accès client WCF avec des contrats de message

est-ce un effet secondaire de permettre "Toujours générer un contrat de message?"

Avant

SmartConnect.Service1Client Client = 
    new SmartConnectClient.SmartConnect.Service1Client(); 
SmartConnect.OrderStatusResponse Status = 
    new SmartConnectClient.SmartConnect.OrderStatusResponse(); 
Status.UserID = "1234"; 
Status.Password = "abcd"; 
Status.SoftwareKey = "abc"; 
Status.OrderNumber = "1234"; 

Status = Client.GetOrderStatus(Status); 
lbl_OS.Text = Status.Status.ToString(); 
lbl_RM.Text = Status.ReturnMessage.ToString(); 

Après

SmartConnectRepublic.SmartConnectClient SmartClient = 
    new WCF_Client.SmartConnectRepublic.SmartConnectClient(); 
//SmartConnectRepublic.OrderStatusResponse Status = 
    new WCF_Client.SmartConnectRepublic.OrderStatusResponse(); 

WCF_Client.SmartConnectRepublic.GetOrderStatusRequest request = 
    new WCF_Client.SmartConnectRepublic.GetOrderStatusRequest(); 


request.status = new WCF_Client.SmartConnectRepublic.OrderStatusResponse(); 
request.status.OrderNumber = "1055055"; 
request.status.UserID = "1234"; 
request.status.Password = "dfsdfsd"; 
request.status.SoftwareKey = "sdfsdfsdfs"; 

WCF_Client.SmartConnectRepublic.GetOrderStatusResponse response = 
    new WCF_Client.SmartConnectRepublic.GetOrderStatusResponse(); 

response = SmartClient.GetOrderStatus(request); 


lbl_Status.Text = response.GetOrderStatusResult.Status; 
lbl_RC.Text = response.GetOrderStatusResult.ReturnCode.ToString(); 
lbl_RM.Text = response.GetOrderStatusResult.ReturnCode.ToString(); 

Répondre

0

Oui, je pense qu'il ya une différence avec l'utilisation de contrats de message. Vous semblez avoir compris, cependant.

+0

est-il possible d'éviter cela? Je veux dire tout changement de configuration ??? – Pinu

+0

Oui. N'utilisez pas de contrats de message. –

+0

mais j'ai besoin de diffuser des fichiers dans certaines de mes méthodes et le contrat de message correspond mieux avec le streaming de gros fichiers dans WCF – Pinu