(407) Proxy Authentication Required in Windows Client Apps

I have downloaded many apps in the past to use at work only to find out that they do not properly handle the proxy authentication at my location.  At home they work just fine, but at work no way!  One was Witty the WPF twitter client, I actually downloaded the code and patched and submitted that back to the developer.  You now have the option to configure the proxy settings in the options windows.

Recently I downloaded Podder, version 2 has some awesome new skins for an WPF application but still doesn’t work through my proxy server.

I did some research and did find a solution, by adding the following to the config file, Podder.exe.config in this case you can define the default proxy behavior for the application. 

<system.net>
<defaultProxy enabled="true" useDefaultCredentials="true">
<proxy bypassonlocal="True" proxyaddress="http://proxy.example.com:8080"/>
</defaultProxy>
</system.net>

It needs to be in the <configuration> node and it worked best if I put it at the bottom below everything else.  Putting it at the top made Podder crash, not sure that really had anything to do with it, but putting it at the bottom didn’t crash.

I wish more developers provided ways to configure the proxy server in their internet enabled apps, but they don’t.  At least now if can work around their laziness and hopefully get it to work any way.

Other apps that I plan to try this on are Blu, and DigiTweet to start.

ASP .NET MVP Award Recipient!!! Woohoo!!!!

 

It feels kind of funny posting this now, you see I have been sick for the last few days and haven’t really been checking my email like I should.  Well, today I called Randy Walker and before saying anything else he says “Congrats”, it took me a second to figure out what he was talking about.  So, I went to read my email and there it was, an email from Microsoft telling me that I had been awarded the ASP .NET MVP.  I feel extremely honored to have received such an award. 

I want to thank everyone in Northwest Arkansas, the South Central District, and INETA for helping and supporting our community efforts in my area.  It has been a joy to build the community in Northwest Arkansas and watch it grow.  I can’t wait to see what new heights we can achieve now, and hope to see more Arkansas MVPs as the result.

Thanks to everyone for the congrats and you can rest assured I will use this to benefits the community and share as much as I can.

Generate your own RSS feed with WCF: Syndication

On a recent project I needed to expose some data via an RSS feed.  I came across Derik Whittaker’s blog post Generate your own RSS feed with Argotic.

Argotic Syndication Framework is a Microsoft .NET class library framework that enables developers to easily consume and/or generate syndicated content from within their own applications.  The Argotic Syndication Framework is very powerful and easy to use.

I didn’t go with the Argotic Syndication Framework for the project because I didn’t want to have yet another assembly in my project, maybe a lame reason but I found the solution I needed already existed in the .NET Framework with WCF: Syndication.  WCF: Syndication is a set of classes available in the .NET Framework that enables the creation and consumption of RSS feed in RSS and ATOM.

I thought it would be a good exercise for me to take Derik’s original article and show how you would accomplish the same thing using WCF: Syndication, so here goes.

In this post we will review the following steps needed to add a feed to your site. image

  1. Creating the xml (rss feed) document for publication
  2. Creating an access point for the feed
  3. Adding the feed to your site 

Creating the xml (rss feed) document for publication

Using the Syndication objects available in the .NET Framework is pretty easy.  The first thing we need to do is add a reference to the assembly that holds the classes we need to add a reference to the System.ServiceModel.Web.dll.

Once we have the reference to the assembly all we have to do is add a using statement and away we go.

 1: public SyndicationFeed GenerateRssFeed()
 2: {
 3:     var items = RssRepository.GetRssItems();
 4:     var syndicationItems = new List<SyndicationItem>();
 5:  
 6:     var feed = new SyndicationFeed("Main RSS Feed for site", "Title", null);
 7:  
 8:     foreach (var rssItem in items)
 9:     {
 10:         var newItem = new SyndicationItem
 11:                           {
 12:                               Title = new TextSyndicationContent(rssItem.Title),
 13:                               Content = new TextSyndicationContent(rssItem.Content),
 14:                               Id = Guid.NewGuid().ToString()
 15:                           };
 16:         
 17:         newItem.Links.Add(new SyndicationLink(rssItem.Link));
 18:         newItem.Authors.Add(new SyndicationPerson("author@example.com", "Author Name", "http://example.com"));
 19:         
 20:         // Add the new syndication item to the generic list
 21:         syndicationItems.Add(newItem);
 22:     }
 23:  
 24:     // add the SyndicationItems to the Syndication Items
 25:     feed.Items = syndicationItems;
 26:  
 27:     // Return the Syndication feed
 28:     return feed;
 29: }

 

Creating an access point for the feed

Following along with the original post we now need to create an access point for users to be able to consume the feed.  Instead of using a static .xml document to expose the content lets look at how we can dynamically generate the feed.  The simplest way is to create an .aspx page and change the content type to “text/xml” and place the following code in the Page_Load event.

Another good idea is to add the OutputCache to the page.

 1: // Put this code here in your html part of the page. 
 2: // This will cache the output for a given number of seconds 
 3: <%@ OutputCache Duration="600" VaryByParam="none" %> 

 

Adding the feed to your site

In order to let the world know you have a feed, you need to expose it in your html documents.  One way to accomplish this is to add it to you master page, this will make it available on every page of the site.

After you have added the reference to your html page you should see the RSS feed icon on your URL bar in your browser.

 1: <link title="[Your title here]" 
 2:         href="http://www.yourdomain.com/[rssfilehere]" 
 3:         type="application/rss+xml"
 4:         rel="alternate">

 

Conclusion

First I would like to thank  Derik for his easy to follow post on using the Argotic Syndication Framework and I hope that you can also see how easy it is to also create Syndication feed using the new classes made available in WCF.

Download the full source SyndicationVsArgotic.zip (27.26 kb).

ASP.NET MVC CodePlex Preview 5

 

If you have been keeping your eyes on the ASP .NET MVC project you will be interested to know that Preview 5 has been released.

Here a few things from the release notes:

This ASP.NET MVC CodePlex Preview 5 is an interim release that contains some new features and some feature improvements for which the ASP.NET MVC team would like to receive feedback from the community. As always, feel free to provide feedback on the ASP.NET MVC forums.
Note: Before you run the ASP.NET MVC CodePlex Preview 5 installer, be sure to uninstall any earlier previews of ASP.NET MVC that you might have installed. In addition, close all instances of Visual Studio 2008.
The following issues are addressed in this release (see the Release Notes for more detail on any changes)

  • Html Helpers need to look into ModelState to get attempted value
  • Add a convenience overload for Html.ActionLink
  • Need friendly exception for UpdateModel type conversion errors.
  • UpdateModel needs to report a message when a property setter throws an exception

Pick up this release here http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx

Calendar

<<  March 2024  >>
MonTueWedThuFriSatSun
26272829123
45678910
11121314151617
18192021222324
25262728293031
1234567

View posts in large calendar

Widget Category list not found.

Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))X

Tag cloud

    Widget Month List not found.

    Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))X

    Widget AuthorList not found.

    Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))X

    Widget TextBox not found.

    Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))X