java to c# correction.

hi, i am converting j2me to c# .net compact framework. however after the convertion, i cant seem to make the connection done. it seems like some logic may be wrong. i need help. thanks. below are the java and c# codes.

J2ME

import java.io.*;
import javax.microedition.io.*;

public class HttpConnectionHelper {
String mSession;
public interface Callback {
void prepareRequest( String originalURL,
HttpConnection conn ) throws IOException;
}
public static HttpConnection connect( String url ) throws IOException {
return connect( url, null );
}

public static HttpConnection connect( String url, Callback callback )
throws IOException {

HttpConnection conn1 = null;
String originalURL = url;

while( url != null ){
conn1 = (HttpConnection)
Connector.open( url );

if( callback != null ){
callback.prepareRequest( originalURL, conn1 );
}

int rc = conn1.getResponseCode();

switch( rc ){
case HttpConnection.HTTP_MOVED_PERM:
case HttpConnection.HTTP_MOVED_TEMP:
case HttpConnection.HTTP_SEE_OTHER:
case HttpConnection.HTTP_TEMP_REDIRECT:
url = conn1.getHeaderField( "Location" );
if( url != null && url.startsWith( "/*" ) ){
StringBuffer b = new StringBuffer();
b.append( "http://" );
b.append( conn1.getHost() );
b.append( ':' );
b.append( conn1.getPort() );
b.append( url );
url = b.toString();
}
conn1.close();
break;
default:
url = null;
break;
}
}
return conn1;
}
}

C# .net compact framework

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Net;

using System.IO;

publicclassHttpConnectionHelper

{

internalString mSession;

publicinterfaceCallback

{

void prepareRequest(String originalURL,HttpWebRequest conn);

}

publicstaticHttpWebRequest connect(String url)

{

return connect(url,null);

}

publicstaticHttpWebRequest connect(String url,HttpConnectionHelper.Callback callback)

{

HttpWebResponse res =null;

HttpWebRequest conn1 =null;

String originalURL = url;

WebHeaderCollection headers = res.Headers;

while (url !=null)

{

conn1 = (HttpWebRequest)WebRequest.Create(url);

HttpWebResponse rc = (HttpWebResponse)conn1.GetResponse();

Stream os = rc.GetResponseStream();

StreamReader sr =newStreamReader(os);

if (callback !=null)

{

callback.prepareRequest(originalURL, conn1);

}

switch (rc.StatusCode)

{

caseHttpStatusCode.MovedPermanently:

caseHttpStatusCode.SeeOther:

caseHttpStatusCode.TemporaryRedirect:

url = headers["Location"];

if (url !=null && url.StartsWith("/*"))

{

StringBuilder b =newStringBuilder();

b.Append("http://");

b.Append(conn1.RequestUri.Host);

b.Append(':');

b.Append(conn1.RequestUri.Port);

b.Append(url);

url = b.ToString();

}

res.Close();

break;

default:

url =null;

break;

}

}

return conn1;

}

}

[7711 byte] By [SPESHOW] at [2008-1-9]