Solved

c# to vb.net conversion error.

Posted on 2013-05-25
7
494 Views
Last Modified: 2013-09-24
Hi!

i found this snippet from  
http://www.codeproject.com/Articles/166763/WCF-Streaming-Upload-Download-Files-Over-HTTP


It works fine when run as it is but when i convert it to vb.net
i get a strange  error saying that wrong parameters or return type
in System.ServiceModel.Channels.Message. it's not allowed to use other parameter types.

but it compiles just fine.

Public Function DownloadFile(request As DownloadRequest) As RemoteFileInfo _
        Implements IService.DownloadFile

        Dim result As New RemoteFileInfo()
        Try
            Dim filePath As String = System.IO.Path.Combine("c:\Uploadfiles", request.FileName)
            Dim fileInfo As New System.IO.FileInfo(filePath)

            ' check if exists
            If Not fileInfo.Exists Then
                Throw New System.IO.FileNotFoundException("File not found", request.FileName)
            End If

            ' open stream
            Dim stream As New System.IO.FileStream(filePath, System.IO.FileMode.Open, System.IO.FileAccess.Read)

            ' return result 
            result.FileName = request.FileName
            result.Length = fileInfo.Length
            result.FileByteStream = stream

        Catch ex As Exception
        End Try
        Return result

    End Function

Open in new window

0
Comment
Question by:jamppi
  • 3
  • 3
7 Comments
 
LVL 42

Expert Comment

by:sedgwick
ID: 39196858
which line throws the exception?
0
 

Author Comment

by:jamppi
ID: 39197145
It doesnt point to any lite.

this is the error

The operation 'ProcessRequestForMessage' could not be loaded because it has a parameter or return type of type System.ServiceModel.Channels.Message or a type that has MessageContractAttribute and other parameters of different types. When using System.ServiceModel.Channels.Message or types with MessageContractAttribute, the method must not use any other types of parameters.

i dont se that i would do it in another way than iin the c# code.
0
 
LVL 42

Expert Comment

by:sedgwick
ID: 39197346
this error is usually due to mixing message contracts with other contracts.
did u run it in C# code and it was working fine?
can u post the web.config?
0
Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

 

Author Comment

by:jamppi
ID: 39197932
Hi!  

The c# code runs just fine.  

For some strange reason EE wont let me publish the zipped vb.net conversion solution.
0
 
LVL 42

Expert Comment

by:sedgwick
ID: 39198175
Change the extension ofthe zip file  to .txt and u would be able to post it here
0
 

Author Comment

by:jamppi
ID: 39199262
nope. it wont accept it.
it's on my google drive
https://docs.google.com/file/d/0B9bl-Tcr6AP5N1N1OHlGblF5M00/edit
0
 
LVL 12

Accepted Solution

by:
jitendra patil earned 500 total points
ID: 39204351
hi jamppi,

I've tested your code you need a small change in your IService.vb

just Modifiy

Public Class DownloadRequest
    <MessageBodyMember()> _
    Public FileName As String
End Class

with

<MessageContract()>
Public Class DownloadRequest
    <MessageBodyMember()> _
    Public FileName As String
End Class


from the above change your service will start functioning.

Hope this helps.
0

Featured Post

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
ASP.net Fit image buttons according to size of the screen 2 20
Reading the Web.Config using IIS 7.5? 4 35
mail.To.Add 5 24
VB.Net - Get ColumnNames of SQL Table 4 10
Just a quick little trick I learned recently.  Now that I'm using jQuery with abandon in my asp.net applications, I have grown tired of the following syntax:      (CODE) I suppose it just offends my sense of decency to put inline VBScript on a…
User art_snob (http://www.experts-exchange.com/M_6114203.html) encountered strange behavior of Android Web browser on his Mobile Web site. It took a while to find the true cause. It happens so, that the Android Web browser (at least up to OS ver. 2.…
Windows 10 is mostly good. However the one thing that annoys me is how many clicks you have to do to dial a VPN connection. You have to go to settings from the start menu, (2 clicks), Network and Internet (1 click), Click VPN (another click) then fi…
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…

813 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now