Solved

ASP.net pdf file opening in debug mode but not on web

Posted on 2016-11-05
13
25 Views
Last Modified: 2016-11-07
Hi
I use the following VB.net code in my ASP.net web app to view a pdf file. It works in debug mode but not in the deployed site online

  Protected Sub btnView_Click(sender As Object, e As EventArgs) Handles btnView.Click
        Try
            Dim oSelectedFile As String
            If Me.ListBox1.SelectedItem.Text <> "" Then
                oSelectedFile = Me.ListBox1.SelectedItem.Text
            Else
                Exit Sub
            End If
            Response.Clear()
            'Dim filePath As String = "~/Uploads/GREAT.pdf"
            Dim filePath As String = "~/Uploads/" & oSelectedFile
            Response.ContentType = "application/pdf"
            Response.WriteFile(filePath)
        Catch ex As Exception
            'Response.Write(ex.Message)
            Me.lblErrorDeleting.Text = ex.Message & " hr556"
        End Try
    End Sub
0
Comment
Question by:murbro
  • 7
  • 6
13 Comments
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 41875304
>>It works in debug mode

and in release mode it does what ?  (Before jumping to conclusions that the version you use on the web site is working but the problem is with the web site you should test it first.)
0
 

Author Comment

by:murbro
ID: 41876723
In debug mode it opens the pfd
0
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 41876733
To repeat myself (because debug and release builds of code are not the same, and because you distribute a release build not a debug build):
and in release mode it does what ?
0
 

Author Comment

by:murbro
ID: 41876742
This is ASP.net of course so by release mode if you mean deployed to the web then this mode doesn't work. Nothing happens
0
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 41876762
Please confirm you have the web config set to use the release mode (debug=false) otherwise you have a set of code that works and a different set of code running in a browser somewhere else which fails.  I'm just trying to rule out one possible source of the error.
0
 

Author Comment

by:murbro
ID: 41876767
Here's the markup in web config. Should debug=false here?

  <system.web>
    <httpHandlers>
      <add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        validate="false" />
    </httpHandlers>
    <authentication mode="None"/>
    <compilation debug="true" strict="false" explicit="true" targetFramework="4.5.2">
      <assemblies>
        <add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      </assemblies>
0
Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

 
LVL 44

Expert Comment

by:AndyAinscow
ID: 41876778
Set the debug to false.  (It should result in faster code because all the debugging is removed at compile time).  
In reality I'm expecting it to still fail BUT it might be the problem.


ps.
http://aspalliance.com/1341_The_Infamous_DebugTrue_Attribute_in_ASPNET
0
 

Author Comment

by:murbro
ID: 41876919
Hi. Thanks but unfortunately that didn't help
0
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 41876964
OK, that clears one potential problem out of the way.
Am I correct that you don't see any error message in the label?


Does this show what you expect in the (error) label in terms of the path, or nothing at all (which implies the click event isn't getting processed).

 Protected Sub btnView_Click(sender As Object, e As EventArgs) Handles btnView.Click
        Try
            Dim oSelectedFile As String
            If Me.ListBox1.SelectedItem.Text <> "" Then
                oSelectedFile = Me.ListBox1.SelectedItem.Text
            Else
                Exit Sub
            End If
            Response.Clear()
            'Dim filePath As String = "~/Uploads/GREAT.pdf"
            Dim filePath As String = "~/Uploads/" & oSelectedFile
Me.lblErrorDeleting.Text = filePath
            Response.ContentType = "application/pdf"
            Response.WriteFile(filePath)
        Catch ex As Exception
            'Response.Write(ex.Message)
            Me.lblErrorDeleting.Text = ex.Message & " hr556"
        End Try
    End Sub
0
 

Author Comment

by:murbro
ID: 41877067
It shows nothing at all
0
 
LVL 44

Accepted Solution

by:
AndyAinscow earned 500 total points
ID: 41877156
So the button click event isn't being called in that case.  Do other button click events work?
0
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 41877161
Or paranoia - just in case
Protected Sub btnView_Click(sender As Object, e As EventArgs) Handles btnView.Click
        Try
            Dim oSelectedFile As String
            If Me.ListBox1.SelectedItem.Text <> "" Then
                oSelectedFile = Me.ListBox1.SelectedItem.Text
            Else
Me.lblErrorDeleting.Text = "Nothing selected"
                Exit Sub
0
 

Author Closing Comment

by:murbro
ID: 41877475
Hi. Thanks very much for the direction. It turns out that one of the pdf files was causing the problem where the button click wasn't firing. I'm not sure how this works but your help got me there. Much appreciated!
0

Featured Post

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

Join & Write a Comment

This article describes relatively difficult and non-obvious issues that are likely to arise when creating COM class in Visual Studio and deploying it by professional MSI-authoring tools. It is assumed that the reader is already familiar with the cla…
Wouldn’t it be nice if you could test whether an element is contained in an array by using a Contains method just like the one available on List objects? Wouldn’t it be good if you could write code like this? (CODE) In .NET 3.5, this is possible…
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.

758 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

19 Experts available now in Live!

Get 1:1 Help Now