Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Debugging ASP.NET application at run-time
Message
 
 
To
16/01/2009 18:36:42
General information
Forum:
ASP.NET
Category:
Other
Environment versions
Environment:
C# 2.0
Miscellaneous
Thread ID:
01374333
Message ID:
01374635
Views:
12
>Dmitry,
>
>The problem *is* a security issue. We use the event log also and have tried several different ways to get the Event Source created programmatically. We finally decided on a Web Service web method, which can just be accessed through IE.It only needs to be done once. Here's the web method:
>
>The line containing "Events.EventSources" is simply an Enum containing the names of EventSources we might use in our app. If you only have one, then you can just get rid of that whole foreach loop and just hardcode the name of your source in the if.
>
>
>[WebMethod(Description = "Set server Event Log sources.")]
>public string SetEventLogSources(string Username, string Password, string Domain)
>{
>	//This will keep track of the impersonation token
>	const int LOGON_TYPE_INTERACTIVE = 2;
>	const int LOGON_TYPE_PROVIDER_DEFAULT = 0;
>	string logName = "Application";
>	IntPtr userToken = IntPtr.Zero;
>
>	if (LogonUser(Username, Domain, Password, LOGON_TYPE_INTERACTIVE, LOGON_TYPE_PROVIDER_DEFAULT, ref userToken))
>		{
>		//Initialize user token 
>		WindowsIdentity oIdentity = new WindowsIdentity(userToken);
>		WindowsImpersonationContext oContext = oIdentity.Impersonate();
>
>		foreach (string source in Enum.GetNames(typeof(Events.EventSources)))
>		{
>			if (EventLog.SourceExists(source) == false)
>				EventLog.CreateEventSource(source, logName);
>		}
>
>		//Undo impersonation
>		oContext.Undo();
>
>		return "Event source registration successful!";
>	}
>	else
>	{
>		return "Unable to process user credentials for event source registration.";
>	}
>}
>
>
>~~Bonnie

Bonnie,

First, thank you for your help. I thought I did try the following line in my code:
EventLog.CreateEventSource(source, logName);
But not sure if I used the right values as parameters. I have made a point to find a good article on this topic to understand it better. I have solved my initial problem by creating a bunch of simple text files with messages. In the beginning I didn't think the ASP.NET would allow me to do it on the Server 2003; but it was no problem. As a side note, I was so upset with myself that after several hours of troubleshooting this problem, I found that the cause was missing letter "l" in one of the keys of WEB.CONFIG on the customer site. The good thing is that I learned something new and hopefully will learn more new stuff.
"The creative process is nothing but a series of crises." Isaac Bashevis Singer
"My experience is that as soon as people are old enough to know better, they don't know anything at all." Oscar Wilde
"If a nation values anything more than freedom, it will lose its freedom; and the irony of it is that if it is comfort or money that it values more, it will lose that too." W.Somerset Maugham
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform