Jan 21 2006

Internal and Public Access Modifiers in C#

Category:Bil@l @ 16:47

I am working on a project, in which I have several Class Libraries. In one of the class libraries, I wanted to use an object that can be accessed only inside the class library. What I did is I created the class as:

internal class X
{
    // Class content
}


Among my class in this class library, I had two objects, one of the objects calls a method inside the other object, and passes to it a parameter of type X, which is an internal object. One thing to mention here that all methods inside those objects have public direcive.
I used to get this error message:

Error 9 Inconsistent accessibility: parameter type 'NameSpace.X' is less accessible than method 'NameSpace.Object1.Create(NameSpace.X)'

I relaized later after some debugging that, when you want to pass an object marked as internal between methods in seperate objects, those objects should also be marked internal and not something else.

You might say, how will be able to access those methods from outside the class library. Well, in my case, I needed to use those internal objects for internal processing inside those methods. So, if a class has a method that uses one of the internal objects to process X job and then returns a value that has a basic data type or a custom object (not marked internal), then all work fine. Example:

public class Y
{
    public static bool IsRegistered(string username)
    {
        X _x = new X(username);
        bool result = IsValid(_x);

        return result;
    }    
}

As you can see, Y is a public class, and a method inside it is using the internal object and thus, that would be ok.

Hope that helps you.

Regards

Tags:

Jan 20 2006

Online RSS Reader

Category: General | GeneralBil@l @ 11:36

Hello:

I came across http://www.Squeet.com, which is a nice online utility to subscribe to blogs online. The nice thing about that tool, is that, all the new posts added by bloggers that you have subscribed to, will be sent to your inbox.

Also, I have been using the JetBrains Omea Rss Reader, I just exported my feeds, and imported them to Squeet and it worked smoothly.

Hope you like that tool!!

Regards

 

Tags: ,

Jan 20 2006

How to install Community Server 1.1 on my machine?

Category: Community ServerBil@l @ 07:07

I got a request from a friend of mine, asking me how to install and configure CS 1.1 on a hosting area.
I will take you in a step-by-step tour on how to be able to install CS 1.1 on your own hosting area.


1- Download the CS 1.1 binaries; click here to get them now.
2- After you download the zip file, you extract it into any place of your choice.
3- Now we need to create a website for the CS. To do so, you go to the Internet Information Services MMC, and create a new website under the default website, with the Alias name as cs. Make the website’s, *localhost/cs*,  home directory point to the Web folder included in the download of CS. This Web folder includes all the files that constitute the CS website.
4- Now, after creating the website, we need to install the CS. How to do so?
5- Before we install CSS, we need to open our Sql Server Enterprise Manager, we create a new Database named *username_CommunityServer*, make sure you change the word username with a name of your choice, why? Because if you want later on to publish that CS into your hosting space and your hosting space is a shared hosting space, then there might be a conflict with other databases, so to be on the safe side, name it according to the above mentioned pattern.
6- You may also need to create a new Database Login user and assign its permissions to the new database you just created.
7- Now it is time to install the CS, but wait, we still have some configuration steps we need to do:
a. Go to the Web folder, open the Web.config , locate the following line:
<add key="SiteSqlServer" value="server=(local);uid=;pwd=;Trusted_Connection=yes;database=communityserver" />


Here, you will need to add the username and password to be able to access the local database. In addition, you can turn off trusted connection by putting it to no.
b. There is an installer that ships with CS to be able to install it on your machine. Got to the Web folder and locate the Installer folder. Open the folder and find the default.aspx page, inside that page you will need to locate the following line:
bool INSTALLER_ENABLED = false;


Make sure you enable the installer by setting a value of true above. Then when you finish installing CS, make sure you reset the value to false.
c. Open a new IE browser, go to http://localhost/cs/installer. This is a step by step wizard that helps you install CS on your machine.
d. The first screen that you face is the following:
 

Click Next

You agree to the terms and click next

You put the username and password you created before in the Sql Server Enterprise Manager. Click next

In this step, you select the database instance where you want to install the CS database. You would need to select the empty database you created in a previous step. Click Next

Select all the options and click next.

In this step, you can change the URL of the community; I suggest leaving it as it is. Then enter a username/password for the administrator of the community. Click next to go to the final step.

Congratulations, now you have a working version of the CS 1.1. To lunch the website and make sure everything is working fine, open a new IE browser, type the following:
http://localhost/cs.
Make sure you disable the installer as mentioned above.

In this post, we learned how to install and configure the CS 1.1 on your local machine. In next posts, we will learn how to publish this installation to your hosting account and be able to access it online.

Hope you found this post beneficial,

Regards

Tags:

Jan 18 2006

My Official Blog

Category: General | GeneralBil@l @ 08:27

Hi:

I would like to welcome you all to  my official blog, which is now hosted on my own hosting account.

I installed the CommunityServer 1.1 locally, then uploaded the files and the database to my hosting account at WebHost4Life.com.

I used the FoggyValley theme for  my Blog, which can be downloaded from here.

I also used the Single Blog/Gallery SiteUrls Generator for CS 1.1, which helped me create a single blog/gallery on this website.

I hope you like my new website. I wish I will be able to deliver good stuff for you all, to benefit as much people as possible all over the world.

Keep an eye on this blog for .NET tips, tricks and good resources.

I would like to thank WebHost4Life Technical Support and Wessam Zeidan, the Palestinian MVP (Lebanon Resident), for helping me out on configuring and installing my new blog.

Regards,

 

Tags: ,

Jan 16 2006

The Dream - Episode 2

Category: General | GeneralBil@l @ 01:47

I spent the whole day working on my dream. It is taking lots of time, but at least, there is something making me happy these days !!

Keep an eye here!!

Regards

Tags: ,

Jan 14 2006

Unable to Start Debugging on the Server. You do not have permission to debug

Category: ASP.NET 1.x | ASP.NET 2.0 - GeneralBil@l @ 20:46

Have you ever faced that error before?

I have started development lately on a Windows 2003 Standard Server, having both VS.NET 2003 and VS.NET 2005 installed.

I was trying to open a DotNetNuke project yesterday and got the error by VS.NET 2003:

Error while trying to run the project  : Unable to Start debugging on the web server. You do not have permissions to debug the server
Verify that you are a member of the 'Debugger Users' group on the server

I have Integrated Security on, Network Service, ASPNET, Administrator (Local Account), IUSR_MachineName accounts all added in the Debugger Users group.

Lately, I figured out after reading this document, How To Solve Debugger Problems

If you created the web project with a full machine name (like “machinename.domainname.something”), the web site is recognized as “Internet” site.
So the default setting of IE will impact on the behavior of log on. In this case, you need to enable logging on with your current user account in “Internet” area with IE setting.

But it is not the default setting of IE, so you’d be better off if you create project with only the machine name.

 

So, open the IE browser, go to --> Tools --> Internet Options --> Security --> Custom Level --> User Authentication --> Select Automatic Logon with current username/password

 

This will hopefully, fix your problem.

 

Regards

Tags: ,

Jan 14 2006

The Dream - Episode 1

Category: General | GeneralBil@l @ 01:01

Here I am announcing the start of the Lebanese and Personal Dream.

Keep an eye on this Blog, to know more about the Dream.