Reducing the delay time upon first requests to a DotNetNuke or other ASP.NET website is something that I see asked quite often. This delay is due to the ASP.NET Worker Process compling a website, this articles will discuss the solutions available to prevent this delay from occuring. I personally find that the simplest solution is the best; the even better part is that it is free! First of all before I talk about the different solutions available let me first explain the issue and why it happens.
Depending on your specific setup and hosting environment this initial load time can be quite lengthy. I have noticed initial load times of anywhere from 4-5 seconds to over 25 depending on the server configuration and load. What is actually happening is that your DNN site is being compiled after the ASP.NET worker process has restarted. The worker process can restart for many reasons, however the most troubling one is due to site traffic. By default IIS will shut down the ASP.NET worker process after 20 minutes of inactivity meaning that the next request will restart the worker process and cause the compilation to occur. Read more »
VN:F [1.7.2_963]
Rating: 0.0/5 (0 votes cast)
ASP.Net, System Analysis and Design, WCF, Web Service
|
ASP.Net, compling, delay time, DotNetNuke, first requests, Heartbeat event, IIS, initial load times, recycling, website, Worker Process
custom destructor and standard Dispose, but the second class doesn’t need either. The difference is that the first class allocates
resources in the constructor and doesn’t clean them up immediately. In contrast, the second class allocates resources in a member function and carefully frees them before exiting (using a finally block), so the second
class author doesn’t need to bother writing Dispose and a destructor. Read more »
VN:F [1.7.2_963]
Rating: 5.0/5 (1 vote cast)
This article assumes basic programming experience with delegates.
Delegates are a .NET framework feature that allows for type-safe function pointers. Actually, they are a bit more than function pointers, because they are object oriented, as their second name -bound method references- expresses. It means that the method pointer stored in the delegate may actually be bound to an instance of a specific object: when the delegate is invoked, the method is called on that target object. In the code of that method, you can notice that the this variable refers to that same target object.
But as we’ll also see, delegates aren’t always bound to an object. They support storing a static method pointer, which isn’t bound to any specific instance of the class, like classic C-style function pointers. Read more »
VN:F [1.7.2_963]
Rating: 5.0/5 (1 vote cast)
C# general, System Analysis and Design
|
.Net, C#, delegate, Delegates vs. Java Listeners, function pointers, Java Listeners, method pointer, multicast, Object bound, Reflection, singlecast, singlecast vs. multicast, System.Delegate, type-safe function pointers
Introduction
Unless you have been living in a cave, or are way behind in your reading, you have probably read something about Web services. When you read the description of .NET Remoting it may remind you a lot of what you’re read about Web services. That is because Web services fall under the umbrella of .NET Remoting, but have a simplified programming model and are intended for a wide target audience.
Web services involve allowing applications to exchange messages in a way that is platform, object model, and programming language independent. Web services are stateless and know nothing about the client that is making the request. The clients communicate by transferring messages back and forth in a specific format known as the Simple Object Access Protocol, or SOAP.
Read more »
VN:F [1.7.2_963]
Rating: 3.0/5 (2 votes cast)
Best Practices, C# general, System Analysis and Design, Web Service
|
.Net, ASP.Net, C#, callbacks, HTTP, Remoting, Simple Object Access Protocol, SOAP, stateless, Web Service, XML
Of all of the technologies to be found in .NET, the most controversial, seems to be garbage collection. A key part of the .NET framework, the managed heap and the garbage collection mechanism are foreign ideas to many of us. This installment of my .NET column discusses the managed heap, and how you can take advantage of it.
Why a Managed Heap?
The .NET framework includes a managed heap that all .NET languages use when allocating reference type objects. Lightweight objects known as value types are always allocated on the stack, but all instances of classes and arrays are created from a pool of memory known as the managed heap. Read more »
VN:F [1.7.2_963]
Rating: 5.0/5 (1 vote cast)
Introduction
DotNet developers can free themselves from tedious memory management for their application as Microsoft Framework and CLR do it automatically.CLR provides a mechanism called as Garbage Collection which manages your applications memory. In this session we will discuss how garbage collector works and how it affects the performance of your Applications.
When you create an object using new () operator, the object’s memory is obtained from the managed heap. When the garbage collector decides that sufficient garbage has accumulated, it performs a collection to free some memory. This process is fully automatic, but there are a number of factors that you need to be aware of that can make the process more or less efficient. Read more »
VN:F [1.7.2_963]
Rating: 4.5/5 (2 votes cast)
Best Practices, C# general, System Analysis and Design
|
.Net, Dispose, Finalization, Garbage Collection, Garbage Collection Algorithm, Generations, Implement Dispose method, Performance, System.GC
Cryptography in .NET
The focus of this month’s article will be ill be on encrypting data using the cryptography classes available through the Microsoft .NET Framework. Providing an in depth explanation of cryptography and how it works is well beyond this column and I will leave to those more algorithm and mathematically included than I. Instead, I’ll provide an overview of cryptography, cover the basics on some of what’s available through the .NET Framework, and then we’ll focus on the use of symmetric encryption to protect data such as user passwords. Read more »
VN:F [1.7.2_963]
Rating: 4.0/5 (1 vote cast)
An application that operates in the mobilized software environment requires local data cache to support offline operation. The advantage of using the ADO.NET DataSet (DataSet) object as a local data cache is the rich functionality it offers while disconnected from the source database and after it has been transferred to a machine on the network, such as a mobile client. You’ll find the DataSet’s ability to identify and extract data changes made locally particularly useful. Also useful is its ability to remember original values of data so that data changes can be rolled back.
The ability to extract data rows that have changed from one DataSet into a new and probably smaller DataSet is important for the transmission of data changes back to a central server because sending a smaller DataSet reduces network traffic and boost performance. Read more »
VN:F [1.7.2_963]
Rating: 4.0/5 (1 vote cast)
You have several options for data synchronization of mobile apps. We look at the advantages and disadvantages of direct access to SQL Server; XML Web services, .NET Remoting, SQL Server CE and Remote Data Access (RDA), SQL Server merge replication, and even give you a handy reference table for making the best choice. |
There are a variety of data synchronization techniques for applications that have to operate in the Occasionally Connected Computing (OCC) environment. You should identify at an early design stage which technology is appropriate for a given application. Let’s look at each of several techniques, along with their pros and cons, and a handy table summarizing our findings.Offline or On, Your App Has to Work
The most basic requirement of any mobile application, as defined in the OCC model, is the need for offline capability.You generally consider some form of local data cache, and you must assess the three facets of offline capability: data synchronization, security, and manageability. You need to consider the problems of deciding how often and how much data to cache on the mobile computer. Then we consider how to synchronize changes back to the master data store on the server in a way that is both scalable and manageable. Finally, we have to consider how the communication of data is secured and authenticated.The following sections describe a number of techniques for data synchronization. Each includes a description of the technology, an outline of its advantages and disadvantages, aspects of performance, the proportion of time that a connection has to be available, and the complexity of implementation. Read more » |
VN:F [1.7.2_963]
Rating: 5.0/5 (1 vote cast)
Here is detail explaination about the IIS 7.0 and IIS 6.0 user and group account from IIS team.
Introduction
In previous versions of IIS, we had a local account created at install time called IUSR_MachineName. The IUSR_MachineName account was the default identity used by IIS whenever anonymous authentication was enabled. This was used by both the FTP and HTTP services.
There was also had a group called IIS_WPG, used as a container for all the application pool identities. We made sure all the appropriate resources on the system had the correct permissions set for the IIS_WPG group during IIS setup so that an administrator only needed to add their identity to that group when they created a new application pool account.
This model worked well, but had its drawbacks: the IUSR_MachineName account and IIS_WPG group were both local to the system it was created on. Every account and group within Windows is given a unique number called a SID (security identifier) that distinguishes it from other accounts. When an ACL is created only the SID is used. As part of our design in previous versions of IIS, we had included the IUSR_MachineName in the metabase.xml file so that if you tried to copy the metabase.xml from one machine to another, it would not work–the account on the other machine would have a different name.
In addition, you could not just ‘xcopy /o’ ACLs from one machine to another since the SIDs were different machine to machine. A work around was to use domain accounts–but that required adding an active directory to the infrastructure. The IIS_WPG group had similar issues with permissions. If you set ACLs on one machine’s file system for IIS_WPG and tried to ‘xcopy /o’ those over to another machine, it would fail. The IIS team heard this feedback and improved this experience by using a built-in account and group in IIS 7.0.
A built-in account and group are guaranteed by the operating system to always have a unique SID. IIS 7.0 has taken this further and ensured the actual names used by the new account and group will never be localized. For example, regardless of the language of Windows you install, the IIS account name will always be IUSR and the group name will be IIS_IUSRS.
In summary, IIS 7.0 offers:
- The IUSR built-in account replaces the IUSR_MachineName account
- The IIS_IUSRS built-in group replaces the IIS_WPG group Read more »
VN:F [1.7.2_963]
Rating: 5.0/5 (1 vote cast)
ASP.Net, C# general, System Analysis and Design, Web Service
|
anonymous, anonymousAuthentication, ASP.Net, authentication, IIS, IIS 7.0, IIS_IUSRS, IIS_WPG, INetMgr, IUSR, IUSR_MachineName, Web site
This page will cover non-topic contents, links and information. This will act as a quick note of anything which I feel I should store somewhere for future use.
IBM WebSphere MQ documents (PDF version) related to almost all topics can be downloaded from:
http://www.ibm.com/developerworks/websphere/zones/businessintegration/roadmaps/wmq/
The topics converted in this link are:
Here is link from IBM help site explains about Monitering WebSphere MQ
VN:F [1.7.2_963]
Rating: 0.0/5 (0 votes cast)
Sometime we want to compare the records between two database tables. These databases could be on same server or on different servers. Here is some information about how we can compare records between two tables. Hope this will help and give you some information.
The ‘EXCEPT’ operator performs the compare between two tables:
When both databases are on same server:
The following query returns any distinct values from the query to the left of the EXCEPT operand that are not also found on the right query.
SELECT ProductID
FROM Production.Product
EXCEPT
SELECT ProductID
FROM Production.WorkOrder ;
–Result: 266 Rows (products without work orders)
Read more »
VN:F [1.7.2_963]
Rating: 4.0/5 (1 vote cast)
When a client requests an ASPX page from the Web server, the request travels through many steps before ultimately ending up as HTML displayed by the client’s browser. First, the request is processed by IIS and routed to the appropriate ISAPI extension. The ISAPI extension for ASP.NET (aspnet_isapi.dll) routes the request to the ASP.NET worker process.
At this point, the request begins to interact with classes that you are used to dealing with. The request is passed to an HttpApplication. Usually this is the class created in the codebehind file for Global.asax. The HttpApplication then passes the request through any number of HTTP Modules. These classes implement the IHttpModule interface and have a chance to modify the request (or even halt the processing of it) before it gets passed on to the next module. ASP.NET provides some standard modules which provide functionality you’re probably familiar with, including FormsAuthenticationModule, PassportAuthenticationModule, WindowsAuthenticationModule, and SessionStateModule, all of which provide exactly the functionality that their names imply.
Ultimately, the request ends up at an IHttpHandler, the most common of which is System.Web.UI.Page. Inside the IHttpHandler.ProcessRequest method, Page raises appropriate events (like Init, Load, and Render), handles ViewState, and provides the programming model for ASP.NET.
Read more »
VN:F [1.7.2_963]
Rating: 0.0/5 (0 votes cast)
When the standard library of ASP.NET controls doesn’t meet your needs, you have several options on how to create your own. For simple controls that only need to be used in a single project, a user control is often the best choice. When the control is to be used in several Web applications or requires more functionality, a custom server control may be a better fit.
When dealing with custom controls, there are two general types: controls that combine the functionality of several existing controls (called composite controls), and controls with a unique visual representation. The process for creating both of these types is very similar. For composite controls, you create a new class that inherits from one of the control base classes (like Control or WebControl) and then override the CreateChildControls method. In this method you add the controls whose functionality you are combining to the collection of child controls, called Controls. For other custom controls, you override Render instead and use the HtmlTextWriter parameter to output the HTML for your control directly.
Regardless of which style of custom control you choose, you don’t have to write any code to handle the functionality that’s common to all controls, like loading and saving ViewState at the right time, allowing PostBack events to be handled, and making sure the control lifecycle events are raised in the correct order. The main algorithm for how a control should be loaded, rendered, and unloaded is contained in the control base class.
Read more »
VN:F [1.7.2_963]
Rating: 0.0/5 (0 votes cast)
The ASP.NET request/response pipeline is a complex system. Patterns are used in the design of the pipeline itself and in the control architecture to effectively balance its performance with extensibility and ease of programming. Before delving into the pipeline, however, I’ll examine the patterns used in the programming model itself.
When dealing with collections of objects, there are often operations that are appropriate for both a single object and the entire collection. Think about an ASP.NET control. A control may be a simple single item like a Literal, or it could be composed of a complex collection of child controls, like a DataGrid is. Regardless, calling the Render method on either of these controls should still perform the same intuitive function.
When each item in the collection might itself contain collections of other objects, the use of the Composite pattern is appropriate. Composite is an easy way to represent tree-like collections without having to treat parent and leaf nodes differently.
The canonical example of Composite relies on an abstract base class, Component, that contains both methods for adding and removing children, and the operations common among parents and children. ASP.NET uses this formulation exactly with System.Web.UI.Control. Control represents the Component base class. It has operations for dealing with children (such as the child Controls property) as well as standard operations and properties like Render and Visible. Each object, whether a primitive object (like Literal) or a composite of several objects (like DataGrid), inherits from this base class.
Read more »
VN:F [1.7.2_963]
Rating: 0.0/5 (0 votes cast)