請問有人請問向我解釋請求和響應模型如何在WCF中工作?我有一個簡單的服務,公開一個名爲getRateOfExchange的方法,其中包含一個返回rateOfExchange []的整數參數,但從服務生成的Reference.cs文件包含許多類:WCF的困境:請求和響應類
getRateOfExchange(似乎是參數)
getRateOfExchangeRequest
getRateOfExchangeResponse
我嘗試了這些類及其方法的每個排列但沒有任何工程。直觀上你會希望創建一個以參數對象作爲參數的請求對象,然後將這個請求傳遞給執行請求的響應方法給服務器。
但是沒有。
它必須是痛苦的。
有人能解釋一下嗎?
UPDATE
謝謝梁詠琪,但我的課並不像說。
如果我按照你的模型,我的要求是這樣的:
CharterServices.charterServiceClient proxy = new CharterServices.charterServiceClient();
using (OperationContextScope scope = new OperationContextScope(proxy.InnerChannel));
{
using (proxy as IDisposable)
{
var response = proxy.getRateOfExchange()
}
}
但是,我getRateOfExchange()方法需要一個getRateOfExchange對象,所以上面的代碼不compile.The getRateOfExchange類包含參數這是proxy.getRateOfExchange()方法的參數。我曾嘗試創建這個類的一個實例並將其傳遞上述方法,像這樣:
using (proxy as IDisposable)
{
var rateOfExchange = new Service.getRateOfExchange()
{
charterEnquiryId = 1550003668
};
using (OperationContextScope scope = new OperationContextScope(proxy.InnerChannel));
{
using (proxy as IDisposable)
{
var response = proxy.getRateOfExchange(rateOfExchange);
foreach (var rateOfExcchange in response)
{
Debug.WriteLine(rateOfExcchange.fromCurrencyName);
}
}
}
}
但試圖調用getRateOfExchange()時,它掛起。
Aaargh!我知道該服務正在工作,因爲我可以在SoapUI中執行相同的WSDL請求。
你能幫忙嗎?
我不確定你的意思是「掛起」,但如果你傳遞一個對象作爲參數,那麼它需要一個DataContract。在創建新的WCF應用程序時,代碼中有一個示例,或者請參閱此處:http://msdn.microsoft.com/en-us/library/ms733127%28v=vs.110%29.aspx – Gigi
與論壇網站不同,我們不使用「謝謝」或「任何幫助表示讚賞」,或在[所有]上簽名。請參閱「[應該'嗨','謝謝',標語和致敬從帖子中刪除?](http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be - 從我的帖子中刪除) –