<rss version="2.0">
  <channel>
    <title>VB-Tips</title>
    <description>The latest tips from the VB-Tips website</description>
    <copyright>This RSS feed is copyright (c) 2010.</copyright>
    <publisher>VB-Tips</publisher>
    <author>VB-Tips</author>
    <language>en-US</language>
    <item>
      <title>Report Viewer control and dataset</title>
      <link>http://www.vb-tips.com/Report_Viewer_control_and_dataset.aspx</link>
      <description>&lt;p&gt;1.- I created a Sql Server 2005 database in the App_Code of my Web App. In it, I build two tables named ‘Encabs´ (‘Headers’ in&lt;/p&gt;  &lt;p&gt;English I suppose) and ‘ Detalle’&lt;/p&gt;  &lt;p&gt;The ‘Encabs’ table has colums that will be used in text boxes of the Header and the Bottom of the Report, like :&lt;/p&gt;  &lt;p&gt;- Folio, date, user, total, sending warehouse, receiving warehouse, Total amount expressed in alphabetical letters etc..&lt;/p&gt;  &lt;p&gt;The ‘Detalle’ table has colums that will be included in a table control (of the Report Items Toolbar) that will show the details of the &lt;/p&gt;  &lt;p&gt;Report, like Article Code, Description, Unit Cost, Series numbers, quantity and (I don´t know how to say in english :&lt;/p&gt;  &lt;p&gt;Pedimento Aduanal)&lt;/p&gt;  &lt;p&gt;. These will be used just to create a xsd schema. Really they won´t be used directly in the program. It´s just that when you create &lt;/p&gt;  &lt;p&gt;the xsd file, it´s mandatory (I think) to use them for configuration purposes. In fact, the program will use a couple of tables &lt;/p&gt;  &lt;p&gt;created at runtime individualized with the 3 first characters of the User code that connected to the Web App. In this way I solved the&lt;/p&gt;  &lt;p&gt;problema that could occur if two or more users use the Report at the same time. (Remember ?). For example : ‘Encabs_ken’ or&lt;/p&gt;  &lt;p&gt;‘Encabs_mig’ and “Detalle_ken” or “Detalle_usr”&lt;/p&gt;  &lt;p&gt;2.- Then I created the xsd file ( I named it ‘Traspasos.xsd’. My Web App is about traspassing merchandise between warehouses &lt;/p&gt;  &lt;p&gt;In the company. Some of them very far from Mexico City, like Los Cabos B. Calif.). I´m pretty sure you know how to do it.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.vb-tips.com/image.axd?picture=WindowsLiveWriter/c364b938c084_5FAC/clip_image002_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://www.vb-tips.com/image.axd?picture=WindowsLiveWriter/c364b938c084_5FAC/clip_image002_thumb.jpg" width="590" height="451" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;3- You create the Report Definition Fle (.rdlc) . I´m using a Report Viewer in Local Mode. We don´t need a huge level of impression.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.vb-tips.com/image.axd?picture=WindowsLiveWriter/c364b938c084_5FAC/clip_image004_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://www.vb-tips.com/image.axd?picture=WindowsLiveWriter/c364b938c084_5FAC/clip_image004_thumb.jpg" width="561" height="436" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;4.- Using code, I fill the two mentioned tables with the data I need. (At Runtime)&lt;/p&gt;  &lt;p&gt;5.- Using Code also, in the Web page that contains the Report Viewer Control, I managed to replace the data sources for it.&lt;/p&gt;  &lt;p&gt;I saw the code in a Web Portal but sadly, I don´t remember the URL, so I send you my own code, which I developed upon what&lt;/p&gt;  &lt;p&gt;I saw in that Portal. (In fact, the code was in C#)&lt;/p&gt;  &lt;p&gt;Imports Microsoft.Reporting.WebForms&lt;/p&gt;  &lt;p&gt;Imports System.Data&lt;/p&gt;  &lt;p&gt;Imports System.Data.SqlClient&lt;/p&gt;  &lt;p&gt;Partial Class Reporte&lt;/p&gt;  &lt;p&gt;Inherits System.Web.UI.Page&lt;/p&gt;  &lt;p&gt;Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load&lt;/p&gt;  &lt;p&gt;Dim strXsd As String, strXsDet As String&lt;/p&gt;  &lt;p&gt;strXsd = CType(Session(&amp;quot;strxsd&amp;quot;), String)&lt;/p&gt;  &lt;p&gt;strXsDet = CType(Session(&amp;quot;strxsdet&amp;quot;), String)&lt;/p&gt;  &lt;p&gt;RV1.ProcessingMode = ProcessingMode.Local&lt;/p&gt;  &lt;p&gt;Dim LocalReport = RV1.LocalReport&lt;/p&gt;  &lt;p&gt;LocalReport.reportPath = &amp;quot;C:\WebSite_Traspasos\Report.rdlc&amp;quot;&lt;/p&gt;  &lt;p&gt;Dim Encabs_Set As New DataSet&lt;/p&gt;  &lt;p&gt;Dim Detalle_Set As New DataSet&lt;/p&gt;  &lt;p&gt;Dim Cn As New SqlConnection&lt;/p&gt;  &lt;p&gt;Cn.ConnectionString = &amp;quot;Data Source=MALTAMIRANO\SQLEXPRESS;Initial Catalog=C:\WEBSITE_TRASPASOS\APP_DATA\TRASP_WORK.MDF;Integrated Security=True&amp;quot;&lt;/p&gt;  &lt;p&gt;Cn.Open()&lt;/p&gt;  &lt;p&gt;Dim Comando As New SqlCommand(&amp;quot;SELECT * FROM &amp;quot; + strXsd, Cn)&lt;/p&gt;  &lt;p&gt;Dim Adapter As New SqlDataAdapter&lt;/p&gt;  &lt;p&gt;Adapter.SelectCommand = Comando&lt;/p&gt;  &lt;p&gt;Adapter.Fill(Encabs_Set, strXsd)&lt;/p&gt;  &lt;p&gt;Dim ds As New ReportDataSource&lt;/p&gt;  &lt;p&gt;ds.Name = &amp;quot;Traspasos_Encabs&amp;quot;&lt;/p&gt;  &lt;p&gt;ds.Value = Encabs_Set.Tables(strXsd)&lt;/p&gt;  &lt;p&gt;LocalReport.datasources.add(ds)&lt;/p&gt;  &lt;p&gt;'&lt;/p&gt;  &lt;p&gt;Dim Comanda As New SqlCommand(&amp;quot;SELECT * FROM &amp;quot; + strXsDet, Cn)&lt;/p&gt;  &lt;p&gt;Dim Adaptador As New SqlDataAdapter&lt;/p&gt;  &lt;p&gt;Adaptador.SelectCommand = Comanda&lt;/p&gt;  &lt;p&gt;Adaptador.Fill(Detalle_Set, strXsDet)&lt;/p&gt;  &lt;p&gt;Dim det As New ReportDataSource&lt;/p&gt;  &lt;p&gt;det.Name = &amp;quot;Traspasos_Detalle&amp;quot;&lt;/p&gt;  &lt;p&gt;det.Value = Detalle_Set.Tables(strXsDet)&lt;/p&gt;  &lt;p&gt;LocalReport.datasources.add(det)&lt;/p&gt;  &lt;p&gt;Cn.Close()&lt;/p&gt;  &lt;p&gt;End Sub&lt;/p&gt;  &lt;p&gt;Explanations :&lt;/p&gt;  &lt;p&gt;StrXsd is the variable which holds the name of the table with the information for the ‘Encabs’ table&lt;/p&gt;  &lt;p&gt;StrXdet has the infomation for the ‘Detalle’ table.&lt;/p&gt;  &lt;p&gt;RV1 is the Instance of the Report Viewer Control. In the next lines of code, the program creates a New couple of Data Sets and&lt;/p&gt;  &lt;p&gt;Somehow manages to set the replace the original datasources of the Report for the newly created. I´m very aware I don´t need to &lt;/p&gt;  &lt;p&gt;Explain anything to you. Besides, I did almost identcally to what I saw. Someday I´ll analize it deeper.&lt;/p&gt;  &lt;p&gt;I think the code :&lt;/p&gt;  &lt;p&gt;Dim det As New ReportDataSource&lt;/p&gt;  &lt;p&gt;det.Name = &amp;quot;Traspasos_Detalle&amp;quot; ‘ You can see these names in the xsd schema&lt;/p&gt;  &lt;p&gt;det.Value = Detalle_Set.Tables(strXsDet)&lt;/p&gt;  &lt;p&gt;LocalReport.datasources.add(det)&lt;/p&gt;  &lt;p&gt;Is what really makes the miracle.&lt;/p&gt;  &lt;br /&gt;  &lt;p&gt;Submitted by Miguel Altamirano&lt;/p&gt; </description>
      <pubDate>Saturday, July 17, 2010</pubDate>
      <date>Saturday, July 17, 2010</date>
      <creator>VB-Tips</creator>
    </item>
    <item>
      <title>Load CSV into DataTable</title>
      <link>http://www.vb-tips.com/Load_CSV_into_DataTable.aspx</link>
      <description>&lt;p&gt;If you write a file called a Schema.ini in the same folder as the CSV file you can load it straight into a datatable with the datatypes and headers you want.&amp;#160; Here is the documentation on Schema.ini is here &lt;a href="http://msdn.microsoft.com/en-us/library/ms709353(VS.85).aspx"&gt;http://msdn.microsoft.com/en-us/library/ms709353(VS.85).aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Here is some sample code to do it:&lt;/p&gt;  &lt;p&gt;Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click   &lt;br /&gt;Dim strCSVFile = &amp;quot;c:\temp\data.csv&amp;quot;    &lt;br /&gt;Dim dtReturnData As New DataTable    &lt;br /&gt;If CreateSchema(strCSVFile) Then    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; CSV2DataTable(strCSVFile, dtReturnData, &amp;quot;SELECT *&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, True)    &lt;br /&gt;End If    &lt;br /&gt;End Sub    &lt;br /&gt;Public Function CSV2DataTable(ByVal strFilename As String, ByRef dtCSVData As DataTable, ByVal strSelectList As String, _    &lt;br /&gt;ByVal strWhere As String, ByVal strGroupBy As String, ByVal blnHeader As Boolean) As Boolean    &lt;br /&gt;If Not System.IO.File.Exists(strFilename) Then    &lt;br /&gt;Return False    &lt;br /&gt;End If    &lt;br /&gt;Dim strFullPath As String = System.IO.Path.GetFullPath(strFilename)    &lt;br /&gt;Dim strFile As String = System.IO.Path.GetFileName(strFilename)    &lt;br /&gt;Dim strDir As String = System.IO.Path.GetDirectoryName(strFilename)    &lt;br /&gt;Dim strConnection As String    &lt;br /&gt;If blnHeader = True Then    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; strConnection = &amp;quot;Provider=Microsoft.Jet.OLEDB.4.0;&amp;quot; &amp;amp; _    &lt;br /&gt;&amp;quot;Data Source=&amp;quot; &amp;amp; strDir &amp;amp; &amp;quot;\;&amp;quot; &amp;amp; _    &lt;br /&gt;&amp;quot;Extended Properties=&amp;quot;&amp;quot;text;HDR=Yes;FMT=Delimited(,)&amp;quot;&amp;quot;&amp;quot;    &lt;br /&gt;Else    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; strConnection = &amp;quot;Provider=Microsoft.Jet.OLEDB.4.0;&amp;quot; &amp;amp; _    &lt;br /&gt;&amp;quot;Data Source=&amp;quot; &amp;amp; strDir &amp;amp; &amp;quot;\;&amp;quot; &amp;amp; _    &lt;br /&gt;&amp;quot;Extended Properties=&amp;quot;&amp;quot;text;HDR=No;FMT=Delimited(,)&amp;quot;&amp;quot;&amp;quot;    &lt;br /&gt;End If    &lt;br /&gt;Dim conCSV As OleDb.OleDbConnection    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; conCSV = New OleDb.OleDbConnection(strConnection)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; conCSV.Open()    &lt;br /&gt;Dim strSQL As String    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; strSQL = strSelectList &amp;amp; vbCrLf &amp;amp; &amp;quot;FROM [&amp;quot; &amp;amp; strFile &amp;amp; &amp;quot;]&amp;quot;    &lt;br /&gt;If strWhere.Length &amp;gt; 0 Then    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; strSQL = strSQL &amp;amp; vbCrLf &amp;amp; strWhere    &lt;br /&gt;End If    &lt;br /&gt;If strGroupBy.Length &amp;gt; 0 Then    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; strSQL = strSQL &amp;amp; vbCrLf &amp;amp; strGroupBy    &lt;br /&gt;End If    &lt;br /&gt;Dim cmdCSV As New OleDb.OleDbCommand(strSQL, conCSV)    &lt;br /&gt;Try    &lt;br /&gt;Dim daCSV As New OleDb.OleDbDataAdapter(cmdCSV)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; daCSV.Fill(dtCSVData)    &lt;br /&gt;Catch ex As Exception    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; MessageBox.Show(ex.Message, &amp;quot;Error Importing Data&amp;quot;, MessageBoxButtons.OK, MessageBoxIcon.Error)    &lt;br /&gt;Finally    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; conCSV.Close()    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; conCSV.Dispose()    &lt;br /&gt;End Try    &lt;br /&gt;Return dtCSVData.Rows.Count &amp;gt; 0    &lt;br /&gt;End Function&lt;/p&gt;  &lt;p&gt;Private Function CreateSchema(ByVal strFileName As String) As Boolean   &lt;br /&gt;Dim ascii As System.Text.Encoding = System.Text.Encoding.ASCII    &lt;br /&gt;Dim swSchema As System.IO.StreamWriter = Nothing    &lt;br /&gt;Dim blnReturn As Boolean    &lt;br /&gt;Dim strSchemaPath As String = System.IO.Path.GetFileName(strFileName)    &lt;br /&gt;Try    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; strSchemaPath = System.IO.Path.GetDirectoryName(strFileName) &amp;amp; &amp;quot;\Schema.ini&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; swSchema = My.Computer.FileSystem.OpenTextFileWriter(strSchemaPath, False, ascii)    &lt;br /&gt;Dim strFile As String = System.IO.Path.GetFileName(strFileName)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; swSchema.WriteLine(&amp;quot;[&amp;quot; &amp;amp; strFileName &amp;amp; &amp;quot;]&amp;quot;)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; swSchema.WriteLine(&amp;quot;ColNameHeader=False&amp;quot;)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; swSchema.WriteLine(&amp;quot;Format=Delimited(,)&amp;quot;)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; swSchema.WriteLine(&amp;quot;Col1=Value1 Text&amp;quot;)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; swSchema.WriteLine(&amp;quot;Col2=Value2&amp;#160; Text&amp;quot;)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; swSchema.WriteLine(&amp;quot;Col3=SomeDate Date&amp;quot;)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; swSchema.WriteLine(&amp;quot;Col4=SomePoint1 Integer&amp;quot;)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; swSchema.WriteLine(&amp;quot;Col5=SomePoint2 Integer&amp;quot;)    &lt;br /&gt;'Continue for all fields    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; blnReturn = True    &lt;br /&gt;Catch ex As Exception    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; blnReturn = False    &lt;br /&gt;Finally    &lt;br /&gt;If swSchema IsNot Nothing Then    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; swSchema.Close()    &lt;br /&gt;End If    &lt;br /&gt;End Try    &lt;br /&gt;Return blnReturn    &lt;br /&gt;End Function&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Submitted by Lee D. Johnson &lt;/p&gt; </description>
      <pubDate>Saturday, July 17, 2010</pubDate>
      <date>Saturday, July 17, 2010</date>
      <creator>VB-Tips</creator>
    </item>
    <item>
      <title>test</title>
      <link>http://www.vb-tips.com/test.aspx</link>
      <description>&lt;p&gt;&lt;a href="http://localhost:1814/image.axd?picture=WindowsLiveWriter/test_11AF3/clip_image002_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://localhost:1814/image.axd?picture=WindowsLiveWriter/test_11AF3/clip_image002_thumb.jpg" width="244" height="213" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;test&lt;/p&gt;  </description>
      <pubDate>Sunday, January 17, 2010</pubDate>
      <date>Sunday, January 17, 2010</date>
      <creator>VB-Tips</creator>
    </item>
    <item>
      <title>Making a REST service with VB and WCF</title>
      <link>http://www.vb-tips.com/Making_a_REST_service_with_VB_and_WCF.aspx</link>
      <description>&lt;p&gt;REST which stands for Representational State Transfer is a way of sending data over the Internet without an additional message layer.&amp;#160; Standard web services use soap for there message header.&amp;#160; In this example we will create a service that uses the northwind database to send a&amp;#160; list of the products for a category.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Lets start by create a new VB web application. In that web application add a Ado.Net Entities data model.&amp;#160; In that class add the northwind database's product class. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.vb-tips.com/image.axd?picture=WindowsLiveWriter/MakingaRESTservicewithVBandWCF_13585/image_2.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://www.vb-tips.com/image.axd?picture=WindowsLiveWriter/MakingaRESTservicewithVBandWCF_13585/image_thumb.png" width="241" height="298" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now add a service named Service1 to the web application.&amp;#160; Lets start by modify the web.config for the service to support rest.&amp;#160; First remove the ServiceBehavior section and add a endpointBehaviors section for webHttp.&amp;#160; In the endpoint we have to change the binding to webHttpBinding and the behaviorConfiguration to the webBehavior we created.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;system.serviceModel&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;behaviors&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;endpointBehaviors&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;behavior name=&amp;quot;webBehavior&amp;quot;&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;webHttp/&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/behavior&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/endpointBehaviors&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/behaviors&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;serviceHostingEnvironment aspNetCompatibilityEnabled=&amp;quot;True&amp;quot;&amp;gt;&amp;lt;/serviceHostingEnvironment&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;services&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;service name=&amp;quot;RestTest.Service1&amp;quot;&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;endpoint address=&amp;quot;&amp;quot; behaviorConfiguration=&amp;quot;webBehavior&amp;quot; binding=&amp;quot;webHttpBinding&amp;quot; bindingConfiguration=&amp;quot;&amp;quot; contract=&amp;quot;RestTest.IService1&amp;quot;&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/endpoint&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/service&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/services&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/system.serviceModel&amp;gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;When we added the service we got 2 items the wcf service and an interface for the service.&amp;#160; Before we go any further we need to add a reference to system.servicebehavior.web&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In the Interface we need to define the how the categoryId is passed to the service.&amp;#160; In this example it expects product/categoryID in the url for the service &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Imports System.ServiceModel    &lt;br /&gt;Imports System.ServiceModel.Web &lt;/p&gt;  &lt;p&gt;&amp;lt;ServiceContract()&amp;gt; _    &lt;br /&gt;Public Interface IService1 &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;OperationContract()&amp;gt; _    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;WebGet(UriTemplate:=&amp;quot;Product/{categoryID}&amp;quot;, ResponseFormat:=WebMessageFormat.Xml, BodyStyle:=WebMessageBodyStyle.Bare)&amp;gt; _     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Function GetProducts(ByVal categoryId As String) As List(Of Products) &lt;/p&gt;  &lt;p&gt;End Interface&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In the service we need to set the AspNetCompatibilityMode and write some code to return the products&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Imports System.ServiceModel.Activation &lt;/p&gt;  &lt;p&gt;&amp;lt;AspNetCompatibilityRequirements(RequirementsMode:=AspNetCompatibilityRequirementsMode.Allowed)&amp;gt; _    &lt;br /&gt;Public Class Service1     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Implements IService1 &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; Public Function GetProducts(ByVal categoryId As String) As System.Collections.Generic.List(Of Products) Implements IService1.GetProducts    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Dim dc As New NorthwindEntities     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Dim q = From p In dc.Products Select p Where p.CategoryID = CInt(categoryId)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Return q.ToList     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; End Function     &lt;br /&gt;End Class&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;To call the service you would use a url like &lt;a title="http://localhost:2050/Service1.svc/Product/7" href="http://localhost:2050/Service1.svc/Product/7"&gt;http://localhost:2050/Service1.svc/Product/7&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;you will get an xml file like this returned&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;a href="http://www.vb-tips.com/image.axd?picture=WindowsLiveWriter/MakingaRESTservicewithVBandWCF_13585/image_4.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://www.vb-tips.com/image.axd?picture=WindowsLiveWriter/MakingaRESTservicewithVBandWCF_13585/image_thumb_1.png" width="644" height="270" /&gt;&lt;/a&gt; </description>
      <pubDate>Sunday, January 17, 2010</pubDate>
      <date>Sunday, January 17, 2010</date>
      <creator>VB-Tips</creator>
    </item>
    <item>
      <title>Silverlight 3 Could Not download the silverlight Application</title>
      <link>http://www.vb-tips.com/Silverlight_3_Could_Not_download_the_silverlight_Application.aspx</link>
      <description>&lt;p&gt;I created a simple Silverlight 3 app.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;lt;UserControl x:Class=&amp;quot;SilverlightApplication2.MainPage&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; xmlns=&amp;quot;&lt;a href="http://schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;"&gt;http://schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;&lt;/a&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; xmlns:x=&amp;quot;&lt;a href="http://schemas.microsoft.com/winfx/2006/xaml&amp;quot;"&gt;http://schemas.microsoft.com/winfx/2006/xaml&amp;quot;&lt;/a&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; xmlns:d=&amp;quot;&lt;a href="http://schemas.microsoft.com/expression/blend/2008&amp;quot;"&gt;http://schemas.microsoft.com/expression/blend/2008&amp;quot;&lt;/a&gt; xmlns:mc=&amp;quot;&lt;a href="http://schemas.openxmlformats.org/markup-compatibility/2006&amp;quot;"&gt;http://schemas.openxmlformats.org/markup-compatibility/2006&amp;quot;&lt;/a&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; mc:Ignorable=&amp;quot;d&amp;quot; d:DesignWidth=&amp;quot;640&amp;quot; d:DesignHeight=&amp;quot;480&amp;quot;&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;Grid x:Name=&amp;quot;LayoutRoot&amp;quot;&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;TextBlock Text=&amp;quot;Hello World!&amp;quot; &amp;gt;&amp;lt;/TextBlock&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/Grid&amp;gt;     &lt;br /&gt;&amp;lt;/UserControl&amp;gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;When I run it I get this error&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.vb-tips.com/image.axd?picture=WindowsLiveWriter/Silverlight3CouldNotdownloadthesilverlig_5FF5/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.vb-tips.com/image.axd?picture=WindowsLiveWriter/Silverlight3CouldNotdownloadthesilverlig_5FF5/image_thumb.png" width="244" height="163" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Line: 56    &lt;br /&gt;Error: Unhandled Error in Silverlight Application     &lt;br /&gt;Code: 2104&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;Category: InitializeError&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;Message: Could not download the Silverlight application. Check web server settings&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Well if you look in the ClientBin folder you will see it is empty so the xap file is not available to be used&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;To fix this right click on the web application and select Build Order.&amp;#160; On the Dependencies tab make sure the Checkbox next to the Silverlight app is checked.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.vb-tips.com/image.axd?picture=WindowsLiveWriter/Silverlight3CouldNotdownloadthesilverlig_5FF5/image_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.vb-tips.com/image.axd?picture=WindowsLiveWriter/Silverlight3CouldNotdownloadthesilverlig_5FF5/image_thumb_1.png" width="244" height="233" /&gt;&lt;/a&gt;&lt;/p&gt; </description>
      <pubDate>Wednesday, July 15, 2009</pubDate>
      <date>Wednesday, July 15, 2009</date>
      <creator>VB-Tips</creator>
    </item>
  </channel>
</rss>