Monday, December 19, 2005

How to use Microsoft Indexing Service?

Using Microsoft Indexing Service:

Want to add document search in your application, you can use microsoft indexing service to do that. You can create a Catlog in the Microsoft indexing service on the folder whose document you want to search from your application. I will guide you on how to use microsoft indexing service from your ASP.NET page.

Go to Computer Management->Services and Application->Indexing Service and make sure that it is running.



You can create a new Catalg by Right Clicking the 'Indexing Service'. You can give a name to the catalog and browse to the folder which you want to be indexed by this catalog.



MS Indexing Service + ASP.NET
Creating an ASP.NET page that can query from the MS Indexing service, I will use the 'Web' catalog that is created by deafult by the indesing service on the 'c:\inetpub\wwwroot\' folder.

We can connect to the MS Indexing service through the following Connection String {"Provider=\"MSIDXS.1\";Data Source=;Integrated Security .="}

You can select the Name of the File, the path where it is located and some of the text from the file. {Select FileName,Path,Characterization from Scope()}

Code:
protected System.Data.OleDb.OleDbConnection oleDbConnection1;

this.oleDbConnection1.ConnectionString = "Provider=\"MSIDXS.1\";Data Source=Web;Integrated Security .=";

{You can change the 'Data Source' to the name of the catalog in which you want to search}


protected System.Data.OleDb.OleDbCommand oleDbSelectCommand3;
protected System.Data.OleDb.OleDbDataAdapter oleDbDataAdapter2;


this.oleDbSelectCommand3 = new System.Data.OleDb.OleDbCommand();
this.oleDbDataAdapter2 = new System.Data.OleDb.OleDbDataAdapter();

Sample Project:

Sample ASP.NET Project

Friday, December 16, 2005

What is .Resx file in Dot Net?

What is .Resx file in Dot Net??

It is an XML based file, with key value pair.

Reading from .Resx File:

You can access the .Resx file using this code:

ResXResourceReader reader = new ResXResourceReader(Server.MapPath("test.resx"));
IDictionaryEnumerator rsxr = reader.GetEnumerator();
foreach (DictionaryEntry d in reader)
{
Console.WriteLine(d.Key.ToString() + ":\t" + d.Value.ToString());
}
//Close the reader.
reader.Close();

Writing to .Resx File:

We can write the binary data of an image to the .Resx file using the following code

Image img = Image.FromFile("urdu.jpg");
ResXResourceWriter rsxw = new ResXResourceWriter("urdu.resx");
rsxw.AddResource("urdu.jpg",img);
rsxw.Close();

Use of .Resx File:

It is very useful while working on Localized project [Multiple Languages], You can make different resource files for different languages and depending upon the user choice you can change the Language of the application.

Tuesday, November 29, 2005

AJAX : Todays Buzzword

AJAX: Today becoming very common, and you will see lot of people talking about it. Microsoft has also launched an ATLAS Framework which is the implementation of AJAX.

What AJAX is all about??

Want to get the bigger picture, I hope these slide will help you a lot, If not then do write to me for any assistence.

http://www.geocities.com/basit_tanveer/Data/AJAX.ppt

Wednesday, October 19, 2005

Executable Jar File in JAVA.

Creating an executable jar file is not that tough if it does not involve any external jars. Create a manifest file and mention the main class path in the manifest file. Place all the class files in a folder along with the manifest file and run the following command:

jar -cfm [name of the jar file] [name of the manifest] *

Flags Description:
c: Create new archive
f: Specify the archive name
m: include manifest

* means include all the files in the current folder and all the sub folders.

The manifest file look something like this:

Main-Class: [name of the main class along with the package details]


Example
If your project has two files a.class and main.class. which are placed in a package(abc.def). Then the manifest would look like this(mainClass.mf):

___________________
Main-Class: abc.def.main
___________________

and the command to create an executable jar will be

jar -cfm test.jar mainClass.mf *

Everything works ok if you are not using any external jars but the problem arises when you have externals jar like you have used the logging component log4j. The manifest attribute Class-Path attribute in which you can mention the paths of the external jars, but i tried it for log4j but it didn't work it gives me error 'Logger Class Def Not Found'. I had created the following manifest for that (Keeping the above exapmle in mind)

__________________
Main-Class: abc.def.main
Class-Path: lib\log4j.jar
__________________

but this didn't worked.

Then i came across a work around for this, which is you create a jar file of your project class files without adding the extenal libaries ie. using the following same manifest:

___________________
Main-Class: abc.def.main
___________________

Place the created jar files along with the external jar files in another folder and then use the following manifest to create the final jar file.

____________________
Main-Class: abc.def.main
Class-Path: main\test.jar lib\log4j.jar
____________________

Notice that test.jar is the jar file of your actual project. the final jar created using the above manifest will work for you.

Thursday, October 13, 2005

Camps & Medicines are needed more than anything else, Pakistan Intl. Airlines will carry donations for free.

As you may already know, the disaster that struck Pakistan's Kashmir and NWFP areas has left at least 40,000 dead and 2.5 million homeless (full stats are not in yet, many areas are not accessible at all because of damaged roads due to landslides), there is dire need of clothes, food items, medicines and camping equipment for the survivors.

http://news.google.com.pk/news?hl=en&ned=us&ie=UTF-8&q=earthquake+toll+40%2C000&btnG=Search+News


The winter has arrived and rain and hailstorms have severely hurt the rescue efforts. Please ask your local volunteers to collect as many donations as possible.

Lot of people in Pakistan are collecting donations and lots of cargo trucks, airplanes and helicopters have been dispatched to the affected areas, but the most important items that are short in supply are camps. No more camps are available in and around Lahore, and manufacturers have order for thousands of camps, but they won't be ready for many days.

2.5 million (possibly many more) people are left with no shelter, which means at least half a million camps are required.

The best thing would be to purchase camping equipment and medicines and send them to Pakistan, preferably Islamabad (because Islamabad is the closest big city, 95 km from Muzaffarabad, the epicenter) or Lahore (another 300km from Islamabad) because even with all the monetary aid, camps are not available here at all.

Pakistan International Airlines (PIA) will carry all relief goods for free from all of its stations in its global network ( http://www.piac.com.pk/press_release/pr293.asp)

Here are the url's of PIA's booking offices around the world alphabetized by cities:

http://www.piac.com.pk/b_offices/A.asp

(New York, Chicago, Houston in USA, Toronto in Canada)

List of PIA's worldwide Stations by Countries:

http://en.wikipedia.org/wiki/Pakistan_International_Airlines#Services

Links for online Donations: http://forums.anandtech.com/messageview.aspx?catid=38&threadid=1708958&enterthread=y

Please take action as quickly as possible, because the winter is here and the survivors are looking forward to our help. Feel free to contact me for any more information you need.

Thank you.

Thursday, October 06, 2005

DotNet Framework & IIS installation order

If you ever install the dot net framework before the IIS, then your aspx pages would not work. The solution to this problem is that:

open the command prompt [For windows Xp and greater]
>>cd C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322
>>aspnet_regiis.exe -i

In case you are using any other windows then search the aspnet_regiis.exe file and run this file from the command prompt with -i argument.

Note: Today one of my friend asked me about this problem and he told me that he is unable to find any solution of this problem on the net, so i though of publishing it on my blog. Hope it will help many.

Tuesday, September 06, 2005

Turtle 1.0 is a cool utility by Xeus Technologies for playing around with files, like removing invalid characters from file names, replacing plain text/pattern from one or multiple files, stripping comments from source files etc. It support multiple file types.

You must try this utility.

http://xeustech.blogspot.com/2005/09/turtle-10.html

Friday, August 26, 2005

This website offers ASP.NET 2.0 Beta hosting for free, till the ASP.NET 2.0 is released actually so you can try it...

http://www.hostmysite.com/aspnet/


Enjoy ASP.NET 2.0 free web hosting

Thursday, August 11, 2005

Added the chat link on my blog.... Hope it will work fine..

Tuesday, August 09, 2005

Are you ever faced with a problem that you have to call a webservice from you C# windows application and the webservice is taking some time in returning the data? The user has to wait until the webservice returns. The user will be stuck until the webservice replies back, but what if you can't afford such delay. So here is the solution for that. Call the webservice asynchronously. Seems confused…… how to do it? It is not that hard, when you enter the reference of the webservice in your project it automatically creates methods for calling the webservice asynchronously

Two methods are created by default one is to start the webmethod asynchronously and other is to end the asynchronous call.


Sample Web Service:

public class AddService
{
[webmethod]
public int Add (int a,int b)
{
return a+b;
}
}

Sample Client:

public Class AddClient
{

private AddService serviceObject = null;

public AsyncCallback wsCallBack = null;

public void DisplayResults()
{
if ( wsCallBack == null )
{
wsCallBack = new AsyncCallback (AddResults);
}
serviceObject.BeginAdd(5,6,wsCallBack, new ReturnValue());

//Continue to do whatever you want to do
}
//This function is called when the Add webmethod returns
public void AddResults(IAsyncResult asyn)
{
ReturnValue rValue = (ReturnValue)asyn.AsyncState ;
int result = rValue.result; //this gives you the result
serviceObject.EndAdd(asyn);
}
}
//This call is used to represent the return value from the webmethod
Public Class ReturnValue
{
public int result;
}

Friday, August 05, 2005

What is the most furustrating thing in web applications, as compared to the dektop applications. It is the server trip, which most of the web application takes even if you change the seletion of a dropdownlist , it goes to the server to poulate another dropdownlist depending on the seletion we made.

With google introducting their new technologies like Gmail , Google Suggest and now Google Maps. It now seems poosible to have rich user experience on the web too. The google have used AJAX.

What is AJAX. In simple Asyncronus Javascript + XML. AJAX is a set of different technologies, that togater facilitates you to develop web application that offers rich user experience. I am working on a presentation on AJAX, i will soon upload it on my blog.

Some good reference on AJAX

  1. http://ajaxpattern.org
  2. Life Without Refresh by Dmitri Khanine and Phil Carrillo, July 2005.
  3. Ajax: A New Approach to Web Applications by Jesse James Garrett February 18, 2005 of Adaptive Path
  4. AJAX.NET webblog http://weblogs.asp.net/mschwarz/

Wednesday, August 03, 2005

Open source software are very useful at times. Some good open source resources for C# and Java.

http://csharp-source.net/

http://java-source.net/