2010-09-30 11 views
5

WCF इस मिलान हो जाएगा:डब्ल्यूसीएफ/रेस्ट/यूरी टेम्पलेट चर लंबाई लंबाई स्ट्रिंग पैरामीटर सूची?

http://localhost:8888/test/blahFirst/blahSecond/sdfsdf,wwewe

इस के लिए

:

[OperationContract] 
[WebGet(UriTemplate = "test/{first}/{second}/{val1},{val2}")] 
string GetVal(string first, string second, string val1, string val2); 

वहाँ va11 बनाने के लिए एक रास्ता है, मानकों का एक चर लंबाई सूची हो val2? तो यह val1 हो सकता है, ...., वीएलएन? और एक सेवा विधि के साथ समाप्त करें जैसे:

string GetVal(string first, string second, List<string> params); 

या उन पंक्तियों के साथ कुछ?

उत्तर

6

बस एक साधारण स्ट्रिंग प्राप्त करें और फिर इसे विभाजित विधि का उपयोग करके विधि में एक ऐरे (या एक सूची) में परिवर्तित करें।

आपका इंटरफेस कुछ इस तरह दिखना चाहिए:

[OperationContract] 
[WebGet(UriTemplate = "test/{first}/{second}/{val1}")] 
string GetVal(string first, string second, string val1); 

आपका कार्यान्वयन:

public string GetVal(string first, string second, string paramArray) 
    { 
     string[] parameters = paramArray.Split(','); 

     foreach (string parameter in parameters) 
     { 
      Console.WriteLine(parameter); 
     } 

     return "Hello"; 
    } 

और आपके ब्राउज़र में इस तरह इसे कहते:

http://localhost:8731/MyServer/test/first/second/1,2,3 

Take a look at the MSDN forum for a detailed answer

+0

basicall y मैंने पाया है कि मेरे प्रश्न का उत्तर है "नहीं, आप इसे सीधे नहीं कर सकते हैं।" लेकिन हाँ, आपकी विधि काम करेगी। मैं इसे किसी भी तरह से एक चेक दूंगा। – MonkeyWrench

संबंधित मुद्दे