WPF add header to Image with URL pettitions [duplicate]












0
















This question already has an answer here:




  • Image source URI requiring authorization

    3 answers



  • Add header to all* HTTP requests on a machine

    1 answer




first of all sorry for my english.



Recently I added some security in the backend of my project, and now I need to send a validation code(apiKey) inside the headers to retrieve the images.



I have a problem with ALL images in my project that I had attached in my UI.



For example, before I had:



<Image Height="90" Source="{Binding Video.Thumbnail}"/>


Now I need to change my code to create a CUSTOM petition add the apiKey in the header:



<Image Height="90">
<Image.Source>
<MultiBinding Converter="{local:GetFrameConverter}">
<Binding Path="ApiKey" IsAsync="True" />
<Binding Path="Video.Thumbnail" IsAsync="True" />
</MultiBinding>
</Image.Source>
</Image>


It works fine, but now I have a heavy problem of performance, because it download always the image no cache, and it seems that for example in a ListView is not Async, and it reloads when scroll is triggered. Furthermore sometimes when I'm requesting a lot of images at the same time I recieve corrupted images, I don't know why.



The behaivour when I assign via "the native" Source with URL works perfect.



So, Has a way to can define custom headers for the requests that goes to http/https resources in WPF by default?
And if is not a way by default, has a way to do it in the xaml tag (or in code-behind)?



NOTE: I already saw the question (Image source URI requiring authorization) I'm not fan of this solution I prefer use native way.. but it seems that is not possible.. I only want to be sure that is not possible. If not, How can I create this server proxy inside of my app?? Or I need tu run another server dedicated?



NOTE2: I'm using HTTPS



Thanks in advance!










share|improve this question















marked as duplicate by Clemens wpf
Users with the  wpf badge can single-handedly close wpf questions as duplicates and reopen them as needed.

StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;

$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');

$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Nov 19 '18 at 12:22


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.



















  • Your GetFrameConverter may explicitly cache images, e.g. by using ObjectCache. In order to also load images asynchronously you should move from a converter to another view model property, which would be bound asynchronously and return a frozen BitmapSource. Bindings do not support asynchronous converter calls, only the property getter may be called asynchronously.

    – Clemens
    Nov 19 '18 at 12:15











  • This is not my question.. If I don't have more ways to work, I will check how to change all of my code to can run better with my own pettition... But first I want to change the less things as possible in the code. but thanks..

    – Riqui Pijoan Gassó
    Nov 19 '18 at 12:17











  • @Clemens Thanks a lot for the #duplicate reference. I saw before .. but I'm surprised for that is impossible in native.. now I edited my question because I still don't know how to implement the answer that is marked as a solution. I'm very begginer with wpf and I understant the logic of the solution.. but i don't know how to start to implement a proxy inside my code. You know how it works, or only knows that exists that solution? Thanks!

    – Riqui Pijoan Gassó
    Nov 20 '18 at 9:06
















0
















This question already has an answer here:




  • Image source URI requiring authorization

    3 answers



  • Add header to all* HTTP requests on a machine

    1 answer




first of all sorry for my english.



Recently I added some security in the backend of my project, and now I need to send a validation code(apiKey) inside the headers to retrieve the images.



I have a problem with ALL images in my project that I had attached in my UI.



For example, before I had:



<Image Height="90" Source="{Binding Video.Thumbnail}"/>


Now I need to change my code to create a CUSTOM petition add the apiKey in the header:



<Image Height="90">
<Image.Source>
<MultiBinding Converter="{local:GetFrameConverter}">
<Binding Path="ApiKey" IsAsync="True" />
<Binding Path="Video.Thumbnail" IsAsync="True" />
</MultiBinding>
</Image.Source>
</Image>


It works fine, but now I have a heavy problem of performance, because it download always the image no cache, and it seems that for example in a ListView is not Async, and it reloads when scroll is triggered. Furthermore sometimes when I'm requesting a lot of images at the same time I recieve corrupted images, I don't know why.



The behaivour when I assign via "the native" Source with URL works perfect.



So, Has a way to can define custom headers for the requests that goes to http/https resources in WPF by default?
And if is not a way by default, has a way to do it in the xaml tag (or in code-behind)?



NOTE: I already saw the question (Image source URI requiring authorization) I'm not fan of this solution I prefer use native way.. but it seems that is not possible.. I only want to be sure that is not possible. If not, How can I create this server proxy inside of my app?? Or I need tu run another server dedicated?



NOTE2: I'm using HTTPS



Thanks in advance!










share|improve this question















marked as duplicate by Clemens wpf
Users with the  wpf badge can single-handedly close wpf questions as duplicates and reopen them as needed.

StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;

$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');

$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Nov 19 '18 at 12:22


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.



















  • Your GetFrameConverter may explicitly cache images, e.g. by using ObjectCache. In order to also load images asynchronously you should move from a converter to another view model property, which would be bound asynchronously and return a frozen BitmapSource. Bindings do not support asynchronous converter calls, only the property getter may be called asynchronously.

    – Clemens
    Nov 19 '18 at 12:15











  • This is not my question.. If I don't have more ways to work, I will check how to change all of my code to can run better with my own pettition... But first I want to change the less things as possible in the code. but thanks..

    – Riqui Pijoan Gassó
    Nov 19 '18 at 12:17











  • @Clemens Thanks a lot for the #duplicate reference. I saw before .. but I'm surprised for that is impossible in native.. now I edited my question because I still don't know how to implement the answer that is marked as a solution. I'm very begginer with wpf and I understant the logic of the solution.. but i don't know how to start to implement a proxy inside my code. You know how it works, or only knows that exists that solution? Thanks!

    – Riqui Pijoan Gassó
    Nov 20 '18 at 9:06














0












0








0









This question already has an answer here:




  • Image source URI requiring authorization

    3 answers



  • Add header to all* HTTP requests on a machine

    1 answer




first of all sorry for my english.



Recently I added some security in the backend of my project, and now I need to send a validation code(apiKey) inside the headers to retrieve the images.



I have a problem with ALL images in my project that I had attached in my UI.



For example, before I had:



<Image Height="90" Source="{Binding Video.Thumbnail}"/>


Now I need to change my code to create a CUSTOM petition add the apiKey in the header:



<Image Height="90">
<Image.Source>
<MultiBinding Converter="{local:GetFrameConverter}">
<Binding Path="ApiKey" IsAsync="True" />
<Binding Path="Video.Thumbnail" IsAsync="True" />
</MultiBinding>
</Image.Source>
</Image>


It works fine, but now I have a heavy problem of performance, because it download always the image no cache, and it seems that for example in a ListView is not Async, and it reloads when scroll is triggered. Furthermore sometimes when I'm requesting a lot of images at the same time I recieve corrupted images, I don't know why.



The behaivour when I assign via "the native" Source with URL works perfect.



So, Has a way to can define custom headers for the requests that goes to http/https resources in WPF by default?
And if is not a way by default, has a way to do it in the xaml tag (or in code-behind)?



NOTE: I already saw the question (Image source URI requiring authorization) I'm not fan of this solution I prefer use native way.. but it seems that is not possible.. I only want to be sure that is not possible. If not, How can I create this server proxy inside of my app?? Or I need tu run another server dedicated?



NOTE2: I'm using HTTPS



Thanks in advance!










share|improve this question

















This question already has an answer here:




  • Image source URI requiring authorization

    3 answers



  • Add header to all* HTTP requests on a machine

    1 answer




first of all sorry for my english.



Recently I added some security in the backend of my project, and now I need to send a validation code(apiKey) inside the headers to retrieve the images.



I have a problem with ALL images in my project that I had attached in my UI.



For example, before I had:



<Image Height="90" Source="{Binding Video.Thumbnail}"/>


Now I need to change my code to create a CUSTOM petition add the apiKey in the header:



<Image Height="90">
<Image.Source>
<MultiBinding Converter="{local:GetFrameConverter}">
<Binding Path="ApiKey" IsAsync="True" />
<Binding Path="Video.Thumbnail" IsAsync="True" />
</MultiBinding>
</Image.Source>
</Image>


It works fine, but now I have a heavy problem of performance, because it download always the image no cache, and it seems that for example in a ListView is not Async, and it reloads when scroll is triggered. Furthermore sometimes when I'm requesting a lot of images at the same time I recieve corrupted images, I don't know why.



The behaivour when I assign via "the native" Source with URL works perfect.



So, Has a way to can define custom headers for the requests that goes to http/https resources in WPF by default?
And if is not a way by default, has a way to do it in the xaml tag (or in code-behind)?



NOTE: I already saw the question (Image source URI requiring authorization) I'm not fan of this solution I prefer use native way.. but it seems that is not possible.. I only want to be sure that is not possible. If not, How can I create this server proxy inside of my app?? Or I need tu run another server dedicated?



NOTE2: I'm using HTTPS



Thanks in advance!





This question already has an answer here:




  • Image source URI requiring authorization

    3 answers



  • Add header to all* HTTP requests on a machine

    1 answer








wpf






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 21 '18 at 9:07







Riqui Pijoan Gassó

















asked Nov 19 '18 at 12:00









Riqui Pijoan GassóRiqui Pijoan Gassó

15




15




marked as duplicate by Clemens wpf
Users with the  wpf badge can single-handedly close wpf questions as duplicates and reopen them as needed.

StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;

$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');

$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Nov 19 '18 at 12:22


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.









marked as duplicate by Clemens wpf
Users with the  wpf badge can single-handedly close wpf questions as duplicates and reopen them as needed.

StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;

$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');

$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Nov 19 '18 at 12:22


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.















  • Your GetFrameConverter may explicitly cache images, e.g. by using ObjectCache. In order to also load images asynchronously you should move from a converter to another view model property, which would be bound asynchronously and return a frozen BitmapSource. Bindings do not support asynchronous converter calls, only the property getter may be called asynchronously.

    – Clemens
    Nov 19 '18 at 12:15











  • This is not my question.. If I don't have more ways to work, I will check how to change all of my code to can run better with my own pettition... But first I want to change the less things as possible in the code. but thanks..

    – Riqui Pijoan Gassó
    Nov 19 '18 at 12:17











  • @Clemens Thanks a lot for the #duplicate reference. I saw before .. but I'm surprised for that is impossible in native.. now I edited my question because I still don't know how to implement the answer that is marked as a solution. I'm very begginer with wpf and I understant the logic of the solution.. but i don't know how to start to implement a proxy inside my code. You know how it works, or only knows that exists that solution? Thanks!

    – Riqui Pijoan Gassó
    Nov 20 '18 at 9:06



















  • Your GetFrameConverter may explicitly cache images, e.g. by using ObjectCache. In order to also load images asynchronously you should move from a converter to another view model property, which would be bound asynchronously and return a frozen BitmapSource. Bindings do not support asynchronous converter calls, only the property getter may be called asynchronously.

    – Clemens
    Nov 19 '18 at 12:15











  • This is not my question.. If I don't have more ways to work, I will check how to change all of my code to can run better with my own pettition... But first I want to change the less things as possible in the code. but thanks..

    – Riqui Pijoan Gassó
    Nov 19 '18 at 12:17











  • @Clemens Thanks a lot for the #duplicate reference. I saw before .. but I'm surprised for that is impossible in native.. now I edited my question because I still don't know how to implement the answer that is marked as a solution. I'm very begginer with wpf and I understant the logic of the solution.. but i don't know how to start to implement a proxy inside my code. You know how it works, or only knows that exists that solution? Thanks!

    – Riqui Pijoan Gassó
    Nov 20 '18 at 9:06

















Your GetFrameConverter may explicitly cache images, e.g. by using ObjectCache. In order to also load images asynchronously you should move from a converter to another view model property, which would be bound asynchronously and return a frozen BitmapSource. Bindings do not support asynchronous converter calls, only the property getter may be called asynchronously.

– Clemens
Nov 19 '18 at 12:15





Your GetFrameConverter may explicitly cache images, e.g. by using ObjectCache. In order to also load images asynchronously you should move from a converter to another view model property, which would be bound asynchronously and return a frozen BitmapSource. Bindings do not support asynchronous converter calls, only the property getter may be called asynchronously.

– Clemens
Nov 19 '18 at 12:15













This is not my question.. If I don't have more ways to work, I will check how to change all of my code to can run better with my own pettition... But first I want to change the less things as possible in the code. but thanks..

– Riqui Pijoan Gassó
Nov 19 '18 at 12:17





This is not my question.. If I don't have more ways to work, I will check how to change all of my code to can run better with my own pettition... But first I want to change the less things as possible in the code. but thanks..

– Riqui Pijoan Gassó
Nov 19 '18 at 12:17













@Clemens Thanks a lot for the #duplicate reference. I saw before .. but I'm surprised for that is impossible in native.. now I edited my question because I still don't know how to implement the answer that is marked as a solution. I'm very begginer with wpf and I understant the logic of the solution.. but i don't know how to start to implement a proxy inside my code. You know how it works, or only knows that exists that solution? Thanks!

– Riqui Pijoan Gassó
Nov 20 '18 at 9:06





@Clemens Thanks a lot for the #duplicate reference. I saw before .. but I'm surprised for that is impossible in native.. now I edited my question because I still don't know how to implement the answer that is marked as a solution. I'm very begginer with wpf and I understant the logic of the solution.. but i don't know how to start to implement a proxy inside my code. You know how it works, or only knows that exists that solution? Thanks!

– Riqui Pijoan Gassó
Nov 20 '18 at 9:06












0






active

oldest

votes

















0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes

Popular posts from this blog

鏡平學校

ꓛꓣだゔៀៅຸ໢ທຮ໕໒ ,ໂ'໥໓າ໼ឨឲ៵៭ៈゎゔit''䖳𥁄卿' ☨₤₨こゎもょの;ꜹꟚꞖꞵꟅꞛေၦေɯ,ɨɡ𛃵𛁹ޝ޳ޠ޾,ޤޒޯ޾𫝒𫠁သ𛅤チョ'サノބޘދ𛁐ᶿᶇᶀᶋᶠ㨑㽹⻮ꧬ꧹؍۩وَؠ㇕㇃㇪ ㇦㇋㇋ṜẰᵡᴠ 軌ᵕ搜۳ٰޗޮ޷ސޯ𫖾𫅀ल, ꙭ꙰ꚅꙁꚊꞻꝔ꟠Ꝭㄤﺟޱސꧨꧼ꧴ꧯꧽ꧲ꧯ'⽹⽭⾁⿞⼳⽋២៩ញណើꩯꩤ꩸ꩮᶻᶺᶧᶂ𫳲𫪭𬸄𫵰𬖩𬫣𬊉ၲ𛅬㕦䬺𫝌𫝼,,𫟖𫞽ហៅ஫㆔ాఆఅꙒꚞꙍ,Ꙟ꙱エ ,ポテ,フࢰࢯ𫟠𫞶 𫝤𫟠ﺕﹱﻜﻣ𪵕𪭸𪻆𪾩𫔷ġ,ŧآꞪ꟥,ꞔꝻ♚☹⛵𛀌ꬷꭞȄƁƪƬșƦǙǗdžƝǯǧⱦⱰꓕꓢႋ神 ဴ၀க௭எ௫ឫោ ' េㇷㇴㇼ神ㇸㇲㇽㇴㇼㇻㇸ'ㇸㇿㇸㇹㇰㆣꓚꓤ₡₧ ㄨㄟ㄂ㄖㄎ໗ツڒذ₶।ऩछएोञयूटक़कयँृी,冬'𛅢𛅥ㇱㇵㇶ𥄥𦒽𠣧𠊓𧢖𥞘𩔋цѰㄠſtʯʭɿʆʗʍʩɷɛ,əʏダヵㄐㄘR{gỚṖḺờṠṫảḙḭᴮᵏᴘᵀᵷᵕᴜᴏᵾq﮲ﲿﴽﭙ軌ﰬﶚﶧ﫲Ҝжюїкӈㇴffצּ﬘﭅﬈軌'ffistfflſtffतभफɳɰʊɲʎ𛁱𛁖𛁮𛀉 𛂯𛀞నఋŀŲ 𫟲𫠖𫞺ຆຆ ໹້໕໗ๆทԊꧢꧠ꧰ꓱ⿝⼑ŎḬẃẖỐẅ ,ờỰỈỗﮊDžȩꭏꭎꬻ꭮ꬿꭖꭥꭅ㇭神 ⾈ꓵꓑ⺄㄄ㄪㄙㄅㄇstA۵䞽ॶ𫞑𫝄㇉㇇゜軌𩜛𩳠Jﻺ‚Üမ႕ႌႊၐၸဓၞၞၡ៸wyvtᶎᶪᶹစဎ꣡꣰꣢꣤ٗ؋لㇳㇾㇻㇱ㆐㆔,,㆟Ⱶヤマފ޼ޝަݿݞݠݷݐ',ݘ,ݪݙݵ𬝉𬜁𫝨𫞘くせぉて¼óû×ó£…𛅑הㄙくԗԀ5606神45,神796'𪤻𫞧ꓐ㄁ㄘɥɺꓵꓲ3''7034׉ⱦⱠˆ“𫝋ȍ,ꩲ軌꩷ꩶꩧꩫఞ۔فڱێظペサ神ナᴦᵑ47 9238їﻂ䐊䔉㠸﬎ffiﬣ,לּᴷᴦᵛᵽ,ᴨᵤ ᵸᵥᴗᵈꚏꚉꚟ⻆rtǟƴ𬎎

Why https connections are so slow when debugging (stepping over) in Java?