Wednesday, May 18, 2011

Blackberry Curve - PC can't read Micro SD

After updating my Blackberry Desktop software, my pc could no longer read my mirco sd card via the USB via the Blackberry, although I had no problems with it before.

After doing all the usual stuff, reboot, reload software, pull battery out, verify card can be read by other means. i finally found this post: http://forums.pinstack.com/f59/mass_storage_issues_heres_the_fix-96938/

and it worked! i used the first option of extracting the rar files, i had tried the calfix executable but that did not seem to work.

hope this helps!

Wednesday, May 4, 2011

ASP.NET URL Routing

I have been hesitant to setup URL Rewriting using IIS. Previously, I setup simple redirects that never seem to work correctly. Plus figuring out the right Regex is a pain.

So I thought I might try again by setting up a single url call to be URL Friendly. I used the IIS URL Rewrite module. I was able to get the URL to accept and process my friendly url but, I had issues with post backs and then the required validators quit working.

So after a little research, I decided to try ASP.NET URL Routing available to for web form in 4.0. It turned out to be pretty easy for what I needed. Here are my steps:

Set up ASP.NET URL Routing in web.config

ASP.NET Development Server:
<httpModules>
<add name="RoutingModule"
type="System.Web.Routing.UrlRoutingModule,
System.Web.Routing,
Version=3.5.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35"/>
<!-- ... -->
</httpModules>

IIS 7:
<modules runAllManagedModulesForAllRequests="true">
....
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</modules>

<handlers>
<add name="UrlRoutingHandler" preCondition="integratedMode" verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, PublicKeyToken=b03f5f7f11d50a3a" />
</handlers>

I wanted the url look like this:
http:/mysite.com/program/submit/12356789

But act like this:
http:/mysite.com/program/submit/page.aspx?key=12356789

I wanted to pick up the 'key' query string and then go my merry way with it.

So with the URL routing I needed to setup some code in the Global.asax to tell it how to set up the identify and use the url:

void Application_Start(object sender, EventArgs e)
 {
   ....
   RegisterRoutes(System.Web.Routing.RouteTable.Routes);
 }

void RegisterRoutes(System.Web.Routing.RouteCollection routes)
 {

   routes.MapPageRoute(
   "View Page", // Route name
   "program/submit/{key}", // Route URL
   "~/program/submit/page.aspx" // Web page to handle route
   );
 }

Inside the Page.aspx Page_load I can pick up the 'key' value like this:

protected void Page_Load(object sender, EventArgs e)
 {
   if (IsPostBack)
    return;

   if (Page.RouteData.Values["key"] != null || Page.RouteData.Values["key"] != string.Empty)
 {
   string key = Page.RouteData.Values["key"].ToString();    //Request.QueryString["key"].ToString();
...
 }

Also, in pages that produce the user friendly url, I was able to build the url using the GetRouteUrl method:

string guid = "XXXX";
string url = Page.GetRouteUrl("View CIK", new { key = guid }); //returns: program/submit/1234567

So far it seems like I am not having any post back issues. So I think I'm liking this feature! So maybe I will set up a few more links as friendly urls sometime soon.