需求:和產品進行通訊,和用戶有交互操作,并將最后結果傳送個DB
成都創新互聯專注于農安網站建設服務及定制,我們擁有豐富的企業做網站經驗。 熱誠為您提供農安營銷型網站建設,農安網站制作、農安網頁設計、農安網站官網定制、微信小程序開發服務,打造農安網絡公司原創品牌,更為您提供農安網站排名全網營銷落地服務。基本思路:
1. 用WPF客戶端程序和產品進行通訊,獲取必要的結果。
2. WPF客戶端程序里調用WCF 的Proxy, 將結果傳送個WCF Service。
3. 另外一個程序通過另一個WCF Proxy獲取結果,并傳送到DB
Control System(Service) <--------------------> WCF Service (Host in Windows Service) <-----------------------> UI Application
| | (Comunication)
WCF Client(Proxy, GetResult) Device.
|
Upload to DB
基本實現:
1. 創建WCF Service Library, 實現 WCF Service 的接口。
2. 創建Windows Service, 并將WCF Service Host 到 Windows Service.
3. 創建WPF UI 程序,實現和Device的通訊。
問題和Debug:
1. Service出現問題的時候,可以用EventViewer來協助Debug。
參考:
1. http://blog.csdn.net/hebeijg/article/details/6161228
2. http://www.codeproject.com/Articles/38160/WCF-Service-Library-with-Windows-Service-Hosting
--------------------
Debug WCF 通訊的時候,應該采用 SvcTraceViewer.exe 工具
https://docs.microsoft.com/en-us/dotnet/framework/wcf/service-trace-viewer-tool-svctraceviewer-exe
三步:
1. 在 Host 端的Config文件里面添加 <system.diagnostics> node內容。具體參考上面連接。注意指定 svclog 文件的路徑。
2. 運行WCF 程序 (Host, Client)進行通訊。
3. 用SvcTraceViewer工具打開生成的svclog文件。就可以定位到錯誤發生行。
--------------
另外還可以通過在ServiceHost端增加internalerror 來得到準確的錯誤。
// Enable "IncludeExceptionDetailInFaults". ServiceDebugBehavior debug = serviceHost.Description.Behaviors.Find<ServiceDebugBehavior>();
// if not found - add behavior with setting turned on if (debug == null)
{
serviceHost.Description.Behaviors.Add(
new ServiceDebugBehavior() { IncludeExceptionDetailInFaults = true });
}
else
{
// make sure setting is turned ON if (!debug.IncludeExceptionDetailInFaults)
{
debug.IncludeExceptionDetailInFaults= true;
}
}
名稱欄目:(WCF)WCFandServiceDebug-創新互聯
分享地址:http://vcdvsql.cn/article30/dsdepo.html
成都網站建設公司_創新互聯,為您提供軟件開發、云服務器、定制開發、關鍵詞優化、移動網站建設、品牌網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯