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 { public static HttpConnection connect( String url, Callback callback ) HttpConnection conn1 = null; while( url != null ){ if( callback != null ){ int rc = conn1.getResponseCode(); switch( rc ){
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 );
}
throws IOException {
String originalURL = url;
conn1 = (HttpConnection)
Connector.open( url );
callback.prepareRequest( originalURL, conn1 );
}
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;public
classHttpConnectionHelper{
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;}
}

