2016-12-18 111 views
0

我希望通過測試來確保我的WCF服務已啓動並正在運行。WCF測試/煙霧測試

我發現這一點:

[OperationContract] 
public void Ping(){} 

我把我的IService,但不是Service.svc? 我如何知道它的工作原理?我是否在我的用戶界面中放置了一個按鈕和一個文本框來調用此方法,並且在Ping方法中有某種語句,如果該Ping方法運行,它會在文本框中放置一個值?這裏是我的建議:

IService:

[OperationContract] 
public void Ping() 
{ 
    TextBox.Text = "Okay".ToString(); 
} 

用戶界面:

private void btnPing_Click(object sender, RoutedEventArgs e) 
{ 
    public void Ping() 
} 
+0

如何在您的測試方法中直接調用此方法。 – Rajput

回答

0

爲了達到測試WCF服務,並運行make Windows窗體(如你先前所做的一樣) 寫點擊項目/解決方案,然後選擇添加服務參考。

將您的服務網址粘貼到地址文本框中(例如www.xyz.com/abcservice.svc或www.xyz.com/true?wsdl)在同一嚮導中更改命名空間(默認爲ServiceReference1)。

現在使用您的按鈕點擊事件作爲你在做什麼,然後調用這個方法。

private void btnPing_Click(object sender, RoutedEventArgs e) 
{ 
    ServiceReference1.yourServiceClassName obj = new ServiceReference1.yourServiceClassName(); 
obj.ping(); 
//Check your output if that is not throwing any exception. 
} 

如果沒有錯誤或異常,那麼一切都OK。

+0

所以在這種情況下,我可以使用我現有的WPF用戶界面,添加一個按鈕'Ping Test'。添加另一個名爲'ServiceReferenceTest'的服務引用,從UI App.config中粘貼到地址中,例如http://projectname.azurewebsites.net/'MyProjectServiceName1' – Coolhand

+0

yes服務appconfig文件中的service.svc不是UI – Rajput

+0

因此,在這種情況下,我可以使用我現有的WPF用戶界面,添加一個按鈕「Ping測試」。然後我添加另一個名爲'ServiceReferenceTest'的服務引用,粘貼到UI App.config文件的地址中,例如http://projectname.azurewebsites.net/'MyProjectService',然後將該方法添加到原始MyProjectService.svc.cs中,然後在ImyProjectService.cs中添加另一個操作契約方法簽名? – Coolhand