Returning Datatable from WCFVB.NET
Step1) Create a WCF Service Application using .NET 4.5 VB.NET
Step 2) Add WCF service name it as DatableDemo
<ServiceContract> _
Public Interface IDatableDemo
<OperationContract> _
Dim GetEmpDetails() As DataTable
End Interface
Step 3) In the implementation file.
Public DataTable GetEmpDetails()
{
Dim emptable As DataTable = New DataTable("Employees")
Try
End Try
{
Imports (SqlConnection conn = New SqlConnection("server=(local)\sqlexpress2012database=AdventureWorks2012uid=sa;pwd=pwd"))
{
Imports (SqlDataAdapter adapter = New SqlDataAdapter("select * from (AdventureWorks2012).(HumanResources).(Employee)", conn))
{
adapter.Fill(emptable)
emptable.RemotingFormat = SerializationFormat.Xml
emptable.AcceptChanges()
conn.Close()
}
}
}
catch (Exception ex)
{
throw ex;
}
return emptable;
}
Step 4) Create a schema for DataTable using SvcUtil.exe. otherwise "The underlying connection was closed: An unexpected error occurred on a receive" error msg
will display
Step 5) Open VS2012 Command Prompt in Administrator mode.
c:\wcf>svcutil http://localhost:3054/idtdemo.svc /r:"C:\Program Files (x86)\Ref
erence Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Data.dll" /r:C:\
inetpub\wwwroot\Tutorials\WCFServices\bin\wcfservices.dll /t:metadata
c:\wcf>svcutil tempuri.org.wsdl schemas.microsoft.com.2003.10.Serialization.xsd
tempuri.org.xsd WCFServices.xsd tempuri.org.samples.xsd System.Data.xsd /language:VB
Step 6) It will generate Proxy class(IDatableDemo.cs) for datatable. Add this class to any project
1) Consume WCF DataTable in Console Application
2) Consume WCF DataTable in Windows Form Application
3) Consume WCF DataTable in Windows Presentation Application(WPF).
4) Consume WCF DataTable in Silverlight Application
5) Consume WCF DataTable in ASP.NET Application
Step 7) in WPF
Dim client2 As IdatabledemoClient = New IdatabledemoClient()
datagrid1.ItemsSource = client2.GetEmpDetails().DefaultView
No comments:
Post a Comment