我有一個WCF服務將從位於客戶網絡中的HTML表單調用。WCF服務返回Response.Write
當同樣的形式張貼完全相同的數據到一個ASP頁面,預計類似這樣的回覆:
的Response.Write「SUCCESS」 & vbnewline
我怎樣才能從我的WCF發送相同的響應服務?
謝謝。
我有一個WCF服務將從位於客戶網絡中的HTML表單調用。WCF服務返回Response.Write
當同樣的形式張貼完全相同的數據到一個ASP頁面,預計類似這樣的回覆:
的Response.Write「SUCCESS」 & vbnewline
我怎樣才能從我的WCF發送相同的響應服務?
謝謝。
WCF服務可以真的返回任何類型的數據。這涵蓋了基本的基本類型,如int
或string
,但您也可以創建更高級的複合類型(類)並將其發回。但是,WCF並不是爲了返回HTML標記而設計的 - 這是對事物完全錯誤的方法。 WCF是一種服務 - 一種服務提供了一些功能,你發送一些數據/參數,你會得到一些數據/輸出類型。
WCF不應該,而且必須永遠不會成爲對用戶端數據的實際表示關注 - 這就是你的用戶界面的工作 - 你正在處理的ASP頁面或什麼的。
所以,你可以有這樣的WCF服務:
[ServiceContract]
interface IMyService
{
[OperationContract]
string SomeServiceMethod(string someInput);
}
,然後調用從您的客戶端代碼是這樣的:
string result = MyService.SomeServiceMethod("Hello!");
但你不應該永遠寫一個WCF服務,返回HTML標記或任何其他系統特定的信息。
而且由於WCF是一個基於消息的系統,WCF服務與您的ASP頁面完全沒有連接 - 它不能參與ASP生命週期或訪問「Response」對象或類似的東西。
如果可以的話,我會多次投票。阿門。 – 2010-01-15 22:35:10
馬克, 你絕對正確。 也許是不明智的使用WCF這樣的東西。 我不控制發佈到我的服務的ASP表單,該表單位於客戶的服務器,我無法更改它。 客戶端正在尋找單詞SUCCESS,否則它認爲對我的服務的呼叫失敗.. 我可以使用ASP頁接受呼叫,但我想使用WCF的perfomance。 – anon2009 2010-01-18 14:02:12
@ anon2009:您肯定可以從您的WCF服務返回一個字符串,並將其設爲「SUCCESS」以表示成功完成。 – 2010-01-18 14:11:39