我需要一種方法來配置我的合同(方法)以獲取可變數量的參數。因爲你應該能夠傳遞2或10個參數到這個終點。WCF - 操作合同和靈活的URI模板?
順便說一句,我返回Stream
的原因是因爲我手動序列化我的數據到XML(不重要)。
serviceInterface等:
[OperationContract]
Stream UpdateAgent(string token, string agentId, string newAgentName, string param1);
服務實現:
[WebGet(UriTemplate = "/update_agent/{token}/{agentId}/{newAgentName}/{param1}")]
public Stream UpdateAgent(string token, string agentId, string newAgentName, string param1)
{
//do stuff here
}
此方法僅適用於該URI請求:
/update_agent/<long number of chars and numbers>/123456/John Silver/<some ID of associated data>
但我想成爲如果我願意,可以傳遞更多的字符串。我知道這改變了合同的終點 - ,但這可能嗎?
爲了澄清,下面應該觸發同一端點:
/update_agent/<long number of chars and numbers>/123456/John Silver/dom_81/pos_23
/update_agent/<long number of chars and numbers>/123456/John Silver/dom_120/dat_12/pos_10
/update_agent/<long number of chars and numbers>/123456/John Silver/con_76
誰能幫助我 - 因爲我顯然不能讓萬種方法服用,每次額外的參數的照顧...
感謝您的回答。我已經閱讀了它,嘗試了一些東西,並查看了「WebOperationContext」以瞭解我可以用這個做什麼。儘管我對可選的查詢參數不感興趣 - 我需要觸發我的操作,無論我在其中觸發了多少個參數...... – KristianB 2012-02-08 09:23:44