-c Installs the client-side scripts for ASP.NET, such as client-side validation scripts, to the aspnet_client subdirectory of each Internet Information Services (IIS) site directory. Only the client-side scripts for the ASP.NET version that is associated with Aspnet_regiis.exe are installed. -disable Disables ASP.NET in the IIS Security Console. This option can be combined only with the -i, -ir, or -r options. It is not available with IIS versions earlier than IIS 6.0. -e Removes the client-side scripts for ASP.NET from the aspnet_client subdirectory of each IIS site directory. Only the client-side scripts for the ASP.NET version associated with Aspnet_regiis.exe are removed. -ea Removes the client-side scripts for all versions of ASP.NET from the aspnet_client subdirectory of each IIS site directory. -enable Enables ASP.NET in the IIS Security Console. This option can be combined only with the -i, -ir, or -r options. It is not available with IIS versions earlier than IIS 6.0 or with ASP.NET versions earlier than ASP.NET version 2.0. -ga user Grants the specified user or group access to the IIS metabase and other directories that are used by ASP.NET. This option is not available with ASP.NET versions earlier than ASP.NET 2.0. -i Installs the version of ASP.NET that is associated with Aspnet_regiis.exe and updates the script maps at the IIS metabase root and below. Only the script maps for applications that use an earlier version of ASP.NET are updated. Applications that use a later version are not affected. -ir Installs the version of ASP.NET that is associated with Aspnet_regiis.exe and only registers ASP.NET in IIS. This option does not update the script maps. To install ASP.NET and update the script maps, use the -i option. -k path Removes the script maps to all versions of ASP.NET from all ASP.NET applications at the specified application root path and its subdirectories. -kn path Removes the script maps to all versions of ASP.NET from the ASP.NET application only at the specified application root path. This option does not affect applications in subdirectories of the specified path. -lk Lists the path and version of all IIS metabase keys where ASP.NET is mapped. The keys that inherit ASP.NET script maps from a parent key are not displayed. -lv Lists the status and installation path of all versions of ASP.NET that are installed on the computer. -norestart Inhibits the restart of the World Wide Web Publishing Service after installing or updating ASP.NET script maps. If you do not use this option, all application pools are recycled. Use this option with the -i or -r options when the IIS worker process will be restarted manually. -r Updates all of the script maps in the IIS metabase and below to point to the ASP.NET ISAPI version that is associated with Aspnet_regiis.exe. All existing script maps are updated to point to the ASP.NET ISAPI version that is associated with the ASP.NET IIS Registration tool, regardless of the current version. -s path Installs the script map that points to the ASP.NET ISAPI version associated with Aspnet_regiis.exe to all ASP.NET applications at the specified application root path and its subdirectories. All existing script maps in the specified path and below that use an earlier version of the ASP.NET ISAPI are updated. -sn path Installs the script map that points to the ASP.NET ISAPI version associated with the tool to the ASP.NET application at the specified application root path. All existing script maps in the specified path that use an earlier version of the ASP.NET ISAPI are updated. This option does not affect applications in subdirectories of path. -u Uninstalls the version of ASP.NET that is associated with the ASP.NET IIS Registration tool from the computer. Existing script maps to this version of the ASP.NET ISAPI are automatically remapped to the most recent remaining ASP.NET ISAPI version installed. -ua Uninstalls all versions of ASP.NET from the computer. -? Displays the command syntax and options for the ASP.NET IIS Registration tool. -config+ Enables remote access to ASP.NET configuration on the computer. -config- Disables remote access to ASP.NET configuration on the computer. -pa container account Grants permission for the specified user or group account to access the specified key container. This argument takes the following optional modifiers: -pku Substitutes a user-specified container for the default machine container. -csp provider Specifies the container provider to use. -full Specifies that full access should be added, rather than the default read-only access. -pc container Creates an RSA public/private key pair in the specified container. This argument takes the following optional modifiers: -size keySize Specifies the key size. The default is 1024 bytes. -pku Substitutes a user-specified container for the default key container on the computer. -exp Specifies that private keys must be able to be exported. -csp provider Specifies the container provider to use. -pd section Decrypts the configuration section. This argument takes the following optional parameters: -app virtualPath Specifies that decryption should occur at the level of the included path. -location subPath Specifies the subdirectory to decrypt. -pkm Specifies that the Machine.config file should be decrypted instead of the Web.config file. -pdf section webApplicationDirectory Decrypts the specified configuration section of the Web.config file in the specified physical (not virtual) directory. -pe section Encrypts the specified configuration section. This argument takes the following optional modifiers: -prov provider Specifies the encryption provider to use. -app virtualPath Specifies that encryption should occur at the level of the included path. -location subPath Specifies the subdirectory to encrypt. -pkm Specifies that the Machine.config file should be encrypted instead of the Web.config file. -pef section webApplicationDirectory Encrypts the specified configuration section of the Web.config file in the specified physical (not virtual) directory. -pi container file Imports an RSA public/private key pair to the specified container from the specified XML file. This argument takes the following optional modifiers: -pku Substitutes a user-specified container for the default machine container. -exp Specifies that private keys can be exported. -csp provider Specifies the container provider to use. -pr container account Removes permission for the specified user or group account to access the specified key container. This argument takes the following optional modifiers: -pku Substitutes a user-specified container for the default machine container. -csp provider Specifies the container provider to use. -px container file Exports an RSA public/private key pair from the specified container to the specified XML file. This argument takes the following optional modifiers: -pku Substitutes a user-specified container for the default machine container. -csp provider Specifies the container provider to use. -pz container Deletes the specified key container. This argument takes the following optional modifier: -pku Substitutes a user-specified container for the default machine container.
Then run this command aspnet_regiis -i for registering ASP.NET runtime with IIS. and aspnet_regiis -c for installing client side scripts.
Option Description Configuration Options
Option Description
Its very simple, free and SEO Friendly. Submit Now....
Wednesday, November 19, 2008
How to and when to use ASP.NET IIS Registration Tool.
Saturday, November 15, 2008
.Net Interview Questions, Resources, Tips & Tricks.: New features in C# 4.0
New Features in C# 4.0 which will ship with Visual Studio 2010. Be first to Read and learn.
.Net Interview Questions, Resources, Tips & Tricks.: New features in C# 4.0
Thursday, July 24, 2008
Cross Page Post Back Labels: ASP.NET 2.0
ASP.Net 1.1 provides for web forms posting back only to themselves. In many situations, the solution requires posting to a different web page. The traditional workaround alternatives were to use Response.Redirect and/or Server.Transfer to move to a different page and simulate cross page post-back behavior.
ASP.Net 2.0 provides a feature known as Cross Page PostBack for a web form to post-back to a different web form (other than itself)
How to post to a different page
To set a web form to post back to a different web form, in the source web form, set the PostBackURL property of a control that implements IButtonControl (eg. Button, ImageButton, LinkButton) to the target web form. When the user clicks on this button control, the web form is cross-posted to the target web form. No other settings or code is required in the source web form.
Access source page info within the posted page: FindControl Method
The target web form resulting from the cross-page postback provides a non-null PreviousPage property. This property represents the source page and provides reference to the source web form and its controls.
The controls on the source page can be accessed via the FindControl method on the object returned by the PreviousPage property of the target page.
protected void Page_Load(object sender, EventArgs e)
{
...
TextBox txtStartDate = (TextBox) PreviousPage.FindControl("txtStartDate ");
...
}
At this point the target page does not have any knowledge of the source page. The PreviousPage property is of the type Page. For accessing controls using FindControl, the developer has to presume a certain structure in the source web form. This approach using FindControl has a few limitations. FindControl is dependent on the developer to provide the ids of the controls to access. The code will stop working if the control id is changed in the source web form. The FindControl method can retrieve controls only within the current container. If you need to access a control within another control, you need to first get a reference to the parent control.
Access source page info within the posted page: @PreviousPageType Directive
There is another more direct option to get access to the source page controls if the source page is pre-determined. The @PreviousPageType directive can be used in the target page to strongly type the source page. The directive specifies the source page using either the VirtualPath attribute or the TypeName attribute. The PreviousPage property then returns a strongly typed reference to the source page. It allows access to the public properties of the source page.
SourcePage.aspx:
<form runat="server" >
...
<asp:textbox runat="server" id="txtFirstName"/>
<asp:textbox runat="server" id="txtLastName"/>
<asp:button runat="server" id="btnViewReport" Text="View Report" PostbackURL="~/targetpage.aspx" />
...
public string FirstName
{
get { return txtFirstName.Text; }
}
...
TargetPage.aspx
<%@ PreviousPageType VirtualPath="sourcepage.aspx" %>
string strFirstName;
strFirstName = PreviousPage.FirstName //Strongly Typed PreviousPage allows direct access to the public properties of the source page.
Access source page info within the posted page: @Reference Directive
A third option to access the source page in a strongly typed fashion from the target page is to include an @Reference directive to the source page in the target page and then cast the PreviousPage property to the type of the source page.
Detect Cross Page PostBacks: IsCrossPagePostBack Property
When the source page cross-posts back to the target page, and the target page accesses the source page, the source page is reloaded in memory and goes through all the life cycle stages except the rendering. This version of the source page object is used by the target page to access information on the source page.
The IsCrossPagePostBack property in the source page indicates if it is being reloaded in memory in response to a PreviousPage reference from a target page.
- Page A cross postback to Page B
- Page B accesses the PreviousPage : Page A is reloaded in memory and the IsCrossPostBack property on this object has the value "true".
The IsCrossPagePostBack property can be used in the source page to prevent un-necessary processing from repeating when the page is being reloaded for the PreviousPage reference.
The PreviousPage.IsCrossPagePostBack property can be used to deduce if the current page has been loaded as a result of a cross page postback.
Validations
If the Source Page has any Validator controls, the source page will need to have valid input when it has cross posted to the target page. The target page can contain the validation check for PreviousPage.IsValid to catch invalid submissions to the source page.
Usage Scenarios
Previous limitations restricted the postback to the self page in ASP.Net 1.1. In ASP.Net 2.0, you can use cross-page post backs to post to a different web page, resulting in more intuitive, structured and maintainable code.
Example - A web form collects criteria for a web-based report (such as Report Type, Report Start Date and Report End Date) and the form is cross page posted to another web form which generates the report based on the parameters passed in the previous page.
A typical use for cross page postback is where you need a page to post to different pages by clicking on different button controls in the same form. The target page is specified with each button control, allowing postbacks to various forms.
When posting across applications, cross page postbacks allow access to the posted form data, but do not provide access to the source page's controls and viewstate.
Thursday, July 10, 2008
Mackay's Moral: Nature is full of examples of teamwork. Teamwork should be part of your nature.
Stand together or fall apart
The huge redwood trees in California are considered to be the tallest trees in the world. Some of them are 300 feet high and more than 2,500 years old. One would think that trees so large would have a tremendous root system reaching down hundreds of feet into the earth. Not true. The redwoods actually have a very shallow root system, but they all intertwine. They don't stand alone, for all the trees support and protect each other. When the storms come or the winds blow, the redwoods stand together.
There is strength in numbers.
To drive home the power of teamwork and sticking together, I sometimes do a visual exercise during my speeches to corporate America, as well as in-house for our salesforce and employees. I hold up a bundle of six pencils and try to break them in the air and then over my knee. The average person can't break the bundle. Then I take one pencil out and snap it in two easily. I point out that if you help each other, you will be like the bundle of pencils. No one can break you apart. But if you are divided among yourselves, you will be broken as easily as a single pencil.
It's a hard lesson for us, but unity consistently produces greater results than individual endeavors. Teamwork divides the effort and multiplies the effect.
In a pulling contest at a county fair, the first place horse ended up moving a sled weighing 4,500 pounds. The second place finisher pulled 4,000 pounds. The owners of the two horses decided to see what these horses could pull together. They hitched them up and found that the team could move 12,000 pounds.
By working separately, the two horses were good for only 8,500 pounds. However, when coupled together, their synergism produced an added 3,500 pounds!
And what about the farmer who grew award-winning corn? Each year he entered his corn in the state fair where it won a blue ribbon. One year a newspaper reporter interviewed him and learned something interesting about how he grew it.
The reporter discovered that the farmer shared his seed corn with his neighbors. "How can you afford to share your best seed corn with your neighbors when they are entering corn in competition with yours each year?" the reporter asked.
"Why sir," said the farmer, "did you know that the wind picks up pollen from the ripening corn and swirls it from field to field. If my neighbors grow inferior corn, cross-pollination will steadily degrade the quality of my corn. If I am to grow good corn, I must help my neighbors grow good corn."
June marks my wedding anniversary, so the next story is timely for me. Many years ago in Austria they had a custom that helped villagers size up the future happiness of a newly married couple.
After the wedding in the local church, the village women would escort the bride and groom to a nearby forest and stand them before a large tree. They would then hand the young couple a two-handled bucksaw and ask that they use it to cut the tree down.
The closer the cooperation between the man and wife, the shorter the time it took for the tree to come down. And the older villagers wisely reasoned that, the shorter the time, the happier the young couple would be because they had learned that most valuable of marital lessons—teamwork!
Phil Jackson, the highly successful coach of the Los Angeles Lakers professional basketball team, frequently reads poetry to his players. To inspire his players on the subject of teamwork, he once read the following lines from Kipling's 1895 poem "The Law of the Jungle":
Now this is the Law of the Jungle —
As old and as true as the sky;
And the Wolf that shall keep it may prosper,
But the Wolf that shall break it must die.
As the creeper that girdles the tree-trunk
The Law runneth forward and back —
But the strength of the Pack is the Wolf,
And the strength of the Wolf is the Pack.
Mackay's Moral: Nature is full of examples of teamwork. Teamwork should be part of your nature.
Dynamically loading loading external JavaScript or CSS files in Javascript using DOM object.
To load a .js or .css file dynamically, in a nutshell, it means using DOM methods to first create a swanky new "SCRIPT" or "LINK" element, assign it the appropriate attributes, and finally, use element.appendChild() to add the element to the desired location within the document tree.
function loadjscssfile(filename, filetype){
if (filetype=="js"){ //if filename is a external JavaScript file
var fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript")
fileref.setAttribute("src", filename)
}
else if (filetype=="css"){ //if filename is an external CSS file
var fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet")
fileref.setAttribute("type", "text/css")
fileref.setAttribute("href", filename)
}
if (typeof fileref!="undefined")
document.getElementsByTagName("head")[0].appendChild(fileref)
}
loadjscssfile("myscript.js", "js") //dynamically load and add this .js file
loadjscssfile("javascript.php", "js") //dynamically load "javascript.php" as a JavaScript file
loadjscssfile("mystyle.css", "css") ////dynamically load and add this .css file
Wednesday, July 2, 2008
Monday, June 30, 2008
How to register or unregister a DLL?
Register or unregister a DLL.
Syntax
REGSVR32 [/U] [/S] [/C] [/I:[Command_Line]] DLL_Name
REGSVR32 [/U] [/S] [/C] /N /I:[Command_Line] DLL_Name
Key
/u Unregister Server.
/s Silent - no dialogue boxes.
/c Console output.
/n Don't call DllRegisterServer
/i Call DllInstall (or DllUninstall if /u is specified)
Command_Line An optional command line for DllInstall
Examples
Unregister (disable) XP Zip folders
REGSVR32 /u C:\Windows\System32\zipfldr.dll
Unregister (Disable) CAB file viewer:
REGSVR32 /u C:\Windows\System32\cabview.dll
Register (enable) XP Zip folders
REGSVR32 zipfldr.dll
Register (enable) CAB file viewer:
REGSVR32 cabview.dll
Register Windows Update DLLs (for those times when XP repair breaks Windows Update)
regsvr32 /s wuapi.dll
Thursday, June 26, 2008
Different class and member Access modifiers / modifiers in C# and VB.NET?
C# | VB | |
Class cannot be inherited (cannot be a base class). | Sealed | NotInheritable |
Class cannot be instantiated but only used as based | Abstract | MustInherit |
For class members: member is accessible only from the | Private | Private |
For class members: member is accessible only from types | Internal | Friend |
For members: member is accessible from the class in | Protected | Protected |
Combines the access of Protected and Internal for a | Protected Internal | Protected Friend |
Access is not restricted. | Public | Public |
Hides a member inherited from a base class. | New | Shadows |