Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. Web Development
  3. ASP.NET
  4. Embedded image in portable area not showing on deployment

Embedded image in portable area not showing on deployment

Scheduled Pinned Locked Moved ASP.NET
sysadminjavascriptcssasp-netdatabase
10 Posts 2 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    AumSingh
    wrote on last edited by
    #1

    I am using MVC 2 on VS2010 and IIS 7. I created a portable area with some images embedded into it. I tried to create routing rule two ways at the time of portable area registeration. Following are the two ways I tried. Method 1

    context.MapRoute("ResourceRoute", "login/resource/{resourceName}",
    new { controller = "EmbeddedResource", action = "Index" },
    new string[] { "MvcContrib.PortableAreas" });

            context.MapRoute(
                "login",
                "login/{controller}/{action}",
                new { controller = "login", action = "index" });
    

    RegisterAreaEmbeddedResources();

    In this case I tried to access the image using Url.Resource() Method 2

    context.MapRoute(
    "login",
    "login/{controller}/{action}",
    new { controller = "login", action = "index" });

    RegisterDefaultRoutes(context);
    RegisterAreaEmbeddedResources();

    In this case I tried to access the image using Url.Content() Following are scenarios where things are working fine. 1. When I run the application on my local development server (Ctrl + F5). 2. When run application after publishing it on my localhost. 3. When I run the application on different development server (Ctrl + F5), say on my friend's box. But it does not render image (right now I have only images as static resource. No CSS or JS) if I publish on someone else's system, say localhost on my friend's box. Everything else is working fine except for the image rendering. I have tried all possible means to get it rendered in the situation it is failing but all in vain. I need some help here. Anyone please? Thank you in advance!

    J 1 Reply Last reply
    0
    • A AumSingh

      I am using MVC 2 on VS2010 and IIS 7. I created a portable area with some images embedded into it. I tried to create routing rule two ways at the time of portable area registeration. Following are the two ways I tried. Method 1

      context.MapRoute("ResourceRoute", "login/resource/{resourceName}",
      new { controller = "EmbeddedResource", action = "Index" },
      new string[] { "MvcContrib.PortableAreas" });

              context.MapRoute(
                  "login",
                  "login/{controller}/{action}",
                  new { controller = "login", action = "index" });
      

      RegisterAreaEmbeddedResources();

      In this case I tried to access the image using Url.Resource() Method 2

      context.MapRoute(
      "login",
      "login/{controller}/{action}",
      new { controller = "login", action = "index" });

      RegisterDefaultRoutes(context);
      RegisterAreaEmbeddedResources();

      In this case I tried to access the image using Url.Content() Following are scenarios where things are working fine. 1. When I run the application on my local development server (Ctrl + F5). 2. When run application after publishing it on my localhost. 3. When I run the application on different development server (Ctrl + F5), say on my friend's box. But it does not render image (right now I have only images as static resource. No CSS or JS) if I publish on someone else's system, say localhost on my friend's box. Everything else is working fine except for the image rendering. I have tried all possible means to get it rendered in the situation it is failing but all in vain. I need some help here. Anyone please? Thank you in advance!

      J Offline
      J Offline
      jkirkerx
      wrote on last edited by
      #2

      Have you taken a look at the html in the browser source, to verify it's correct when it doesn't work?

      A 1 Reply Last reply
      0
      • J jkirkerx

        Have you taken a look at the html in the browser source, to verify it's correct when it doesn't work?

        A Offline
        A Offline
        AumSingh
        wrote on last edited by
        #3

        Yes I have checked. They are all good at all time. For Method 1 I used

        Url.Resource("Images.aw1.png")

        Here the image was located under Images folder which was under the root of Portable area project. URL of the image is rendered as "http://locahost/mysite/login/resource/Images.aw1.png" For Method 2 I used

        Url.Content("~/LoginPortableArea/Images/aw1.png")

        Here LoginPortableArea is name of the area and images are located in the folder Content/Images which was under the root of portable area project. URL of the image is rendered as "http://localhost/mysite/LoginPortableArea/Images/aw1.png". So we see in both the cases url is correctly generated and the image also gets rendered correctly on localhost of my box but not elsewhere.

        J 1 Reply Last reply
        0
        • A AumSingh

          Yes I have checked. They are all good at all time. For Method 1 I used

          Url.Resource("Images.aw1.png")

          Here the image was located under Images folder which was under the root of Portable area project. URL of the image is rendered as "http://locahost/mysite/login/resource/Images.aw1.png" For Method 2 I used

          Url.Content("~/LoginPortableArea/Images/aw1.png")

          Here LoginPortableArea is name of the area and images are located in the folder Content/Images which was under the root of portable area project. URL of the image is rendered as "http://localhost/mysite/LoginPortableArea/Images/aw1.png". So we see in both the cases url is correctly generated and the image also gets rendered correctly on localhost of my box but not elsewhere.

          J Offline
          J Offline
          jkirkerx
          wrote on last edited by
          #4

          Packer L wrote:

          "http://locahost/mysite/login/resource/Images.aw1.png"

          Looks like the image is hard coded to localhost, using a full url. With a partial url, you don't have to worry about the server name, the browser will take care of that. If an image is embedded, then that image in the server control project must be marked as embedded in the property panel, so it gets compiled into the DLL. When the image is called for duty, the image is extracted from a webresource.axd, and the url looks sort of like ~/webresource.axd/sfdf.png I'm pretty sure you can't embed an image in a web project.

          A 1 Reply Last reply
          0
          • J jkirkerx

            Packer L wrote:

            "http://locahost/mysite/login/resource/Images.aw1.png"

            Looks like the image is hard coded to localhost, using a full url. With a partial url, you don't have to worry about the server name, the browser will take care of that. If an image is embedded, then that image in the server control project must be marked as embedded in the property panel, so it gets compiled into the DLL. When the image is called for duty, the image is extracted from a webresource.axd, and the url looks sort of like ~/webresource.axd/sfdf.png I'm pretty sure you can't embed an image in a web project.

            A Offline
            A Offline
            AumSingh
            wrote on last edited by
            #5

            No the image is not hard coded with localhost. For the sake of clarity I mentioned it like that. It actually is rendered as "/mysite/login/resource/Images.aw1.png" And as a matter of fact images are being embedded in web app assembly. This can be done by setting image property "Build Action" to "Embedded Resource". I can guarantee that embeding of resource is working fine or else image would not have got rendered on my local too. Moreover I also checked the DLL through a reflector and saw that images were indeed embedded there.

            J 1 Reply Last reply
            0
            • A AumSingh

              No the image is not hard coded with localhost. For the sake of clarity I mentioned it like that. It actually is rendered as "/mysite/login/resource/Images.aw1.png" And as a matter of fact images are being embedded in web app assembly. This can be done by setting image property "Build Action" to "Embedded Resource". I can guarantee that embeding of resource is working fine or else image would not have got rendered on my local too. Moreover I also checked the DLL through a reflector and saw that images were indeed embedded there.

              J Offline
              J Offline
              jkirkerx
              wrote on last edited by
              #6

              Sounds like you got it figured out now. Good Job!

              A 1 Reply Last reply
              0
              • J jkirkerx

                Sounds like you got it figured out now. Good Job!

                A Offline
                A Offline
                AumSingh
                wrote on last edited by
                #7

                No but it is still not working. Everything looks good but it is still not working. Hints please!

                J 1 Reply Last reply
                0
                • A AumSingh

                  No but it is still not working. Everything looks good but it is still not working. Hints please!

                  J Offline
                  J Offline
                  jkirkerx
                  wrote on last edited by
                  #8

                  With all due respect, I offered sound and sane suggestions in diagnosing your issue, but you turned them all down. If you look at the browser source, and take the image url and paste in your browser url, you should be able to pull up the image, that simple. But I have worked with folks in my lifetime ( 48 years ), in which each time they claim that they have done that, and rule out any suggestion offered, which is YOU! You can't be helped, until you get humbled or something, or perhaps open up your mind to critical thinking. Sorry, I'm done. jkirkerx

                  A 1 Reply Last reply
                  0
                  • J jkirkerx

                    With all due respect, I offered sound and sane suggestions in diagnosing your issue, but you turned them all down. If you look at the browser source, and take the image url and paste in your browser url, you should be able to pull up the image, that simple. But I have worked with folks in my lifetime ( 48 years ), in which each time they claim that they have done that, and rule out any suggestion offered, which is YOU! You can't be helped, until you get humbled or something, or perhaps open up your mind to critical thinking. Sorry, I'm done. jkirkerx

                    A Offline
                    A Offline
                    AumSingh
                    wrote on last edited by
                    #9

                    Well due respect to you too, I had already tried all your sane diagnosing methods before I even thought of coming online for help. I just wanted to say that I have tried them already and in-fact I tried them again on your suggestion but it looks like you took it different way and that is not my fault. Just because you have 48 years of experience doesn't mean your suggestion has to be spot on. And so far opening of mind for critical thinking is concerned, point one, I know what I am and don't need certificate from anyone and point two, do you really think you offered suggestion that required critical thinking? And so far being humble is concerned, I always am but not now. This is the worst online reply that I ever gave to anyone and sorry to say but you forced me to do that. I am not sorry at all for replying to you like this. Packer

                    J 1 Reply Last reply
                    0
                    • A AumSingh

                      Well due respect to you too, I had already tried all your sane diagnosing methods before I even thought of coming online for help. I just wanted to say that I have tried them already and in-fact I tried them again on your suggestion but it looks like you took it different way and that is not my fault. Just because you have 48 years of experience doesn't mean your suggestion has to be spot on. And so far opening of mind for critical thinking is concerned, point one, I know what I am and don't need certificate from anyone and point two, do you really think you offered suggestion that required critical thinking? And so far being humble is concerned, I always am but not now. This is the worst online reply that I ever gave to anyone and sorry to say but you forced me to do that. I am not sorry at all for replying to you like this. Packer

                      J Offline
                      J Offline
                      jkirkerx
                      wrote on last edited by
                      #10

                      Please accept my apology. I get frustrated sometimes, and probably should of just been more direct. On the other forum, I just ignore the questions now, and don't get involved anymore. Diagnostics: Sometimes you have to work backwards, and look at the final results in the browser output. If the results don't work, you have to pick it apart. So you start at the image tag, inspect the url. test the url in the browser bar. There's a ton of information in the browser source, it just takes some learning to read the info and understand it. If you code in CSharp, then the principals are the same. Now you work forward on the source, to make adjustments to what is sent back to the browser. The most common mistakes I see is in the use of Client Script Manager, and not registering the CS in OnInit. The 2nd mistake is not using CS WebResuorceUrl as the url in the image tag. The image url is a webresource. Sample Code in vb. This is for you to just get an idea of the stucture and use of of the client script manager, and the webresource url.

                      Protected Overrides Sub OnInit(ByVal e As System.EventArgs)
                      MyBase.OnInit(e)

                         Controls.Clear()
                      
                         Dim cs As ClientScriptManager = Me.Page.ClientScript
                         Dim rsType As Type = Me.GetType()
                      
                         Select Case \[Localization\]
                             Case 0
                                 rm = New ResourceManager("Admin\_PP\_Standard.labels\_en", Assembly.GetExecutingAssembly())
                                 ci = New CultureInfo("en-US")
                             Case 1
                                 rm = New ResourceManager("Admin\_PP\_Standard.labels\_fr", Assembly.GetExecutingAssembly())
                                 ci = New CultureInfo("fr-CA")
                             Case 2
                                 rm = New ResourceManager("Admin\_PP\_Standard.labels\_es", Assembly.GetExecutingAssembly())
                                 ci = New CultureInfo("es-MX")
                         End Select
                      
                         Dim Comment As LiteralControl
                         Comment = New LiteralControl
                         Comment.Text = "<!-- SignUp V1.1 for ASP.NET 4.0 -->" & vbCrLf
                         Controls.Add(Comment)
                      
                         Dim img\_Name As String = Nothing
                         Dim img\_Email As String = Nothing
                         Dim img\_ProgressIndicator As String = Nothing
                         Dim img\_Connect As String = Nothing
                         Dim img\_BG\_ModalProgress As String = Nothing
                      
                         Select Case \[Page\_ColorTheme\]
                             Case 0  'Light
                                 img\_Name = cs.GetWebResourceUrl(rsType, "Footer\_SignUp.ico-form\_person\_light.png")
                                 img\_
                      
                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups