|
That's it!
Here's the C# signatures to implement his solution
public const uint PROCESS_CALLBACK_FILTER_ENABLED = 1;
[DllImport("kernel32.DLL")]
public static extern bool SetProcessUserModeExceptionPolicy(uint dwFlags);
[DllImport("kernel32.DLL")]
public static extern bool GetProcessUserModeExceptionPolicy(ref uint lpFlags);
uint dwFlags = 0;
if (StormWindows.Win32Api.GetProcessUserModeExceptionPolicy(ref dwFlags))
{
SetProcessUserModeExceptionPolicy(dwFlags & ~PROCESS_CALLBACK_FILTER_ENABLED);
}
|
|
|
|
|
Thank you SO much for this link.
I was, as the article described, pulling my hair out why and how a first-chance unhandled exception caused my program to silently crash in debug mode.
|
|
|
|
|
Hello,
When a textbox is clicked, i need to disable some buttons on the page. I am using an asp:textbox control which does not an onclick event. How can I do this?
Thanks.
|
|
|
|
|
This question belongs in the ASP.NET forum.
What you want to do would have to be done in client-side JavaScript, not C# code.
You're also not looking for the onClick event since it will only if the mouse is used to give the TextBox focus. That event won't fire if the user hits the tab key to put the focus in that TextBox.
You're looking for the onFocus event instead.
|
|
|
|
|
I have a C#.net 2008 desktop application that I modified to read the active directory to obtain what group(s) each user has access to. My company told me the windows and web applications should use the same logic when accessing the active directory. Since the web
application was completed first, I need to find a way to use the web method of accessing the active directory.
Thus I have the following questions about the desktop code listed below versus the web code listed below also:
1. Thus can you tell me if there is a way to use the web code in the windows version of accessing the active directory? If so, can you tell me how to modify the code so it would work in the windows application?
2. Is there a way to use at least part of the web code. If so, can you show me what code can be used?
3. If there is no way to use the web code and I should use the windows code that works, can you tell me why the web code would not work?
--------------
DESKTOP CODE
--------------
The following code is called from various portions of the desktop application. Right after the following class module returns from the application, the following line of code is executed in each section for the vatious groups that have been setup.
if ((Thread.CurrentPrincipal.IsInRole("testi1")
then do some process.
}</pre>
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Reflection;
using System.IO;
using System.Threading;
using System.Web;
using System.Windows.Forms;
using System.Security.Principal;
namespace Common.Area
{
public class ActiveDirectoryUser
{
public ActiveDirectoryUser()
{
AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
Thread.CurrentPrincipal = new WindowsPrincipal(WindowsIdentity.GetCurrent());
}
}
}
----------
WEB CODE
----------
using System;
using System.Collections.Generic;
using System.Text;
using System.DirectoryServices;
namespace Sup
{
public class ActiveDirectoryValidator
{
private string _path;
private string _filterAttribute;
public ActiveDirectoryValidator(string path)
{
_path = path;
}
public bool IsAuthenticated(string domainName, string userName, string password)
{
string domainAndUsername = domainName + @"\" + userName;
DirectoryEntry entry = new DirectoryEntry(_path, domainAndUsername, password);
try
{
// Bind to the native AdsObject to force authentication.
Object obj = entry.NativeObject;
DirectorySearcher search = new DirectorySearcher(entry);
search.Filter = "(SAMAccountName=" + userName + ")";
search.PropertiesToLoad.Add("cn");
SearchResult result = search.FindOne();
if (null == result)
{
return false;
}
// Update the new path to the user in the directory
_path = result.Path;
_filterAttribute = (String)result.Properties["cn"][0];
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
return true;
}
}
}
|
|
|
|
|
1) There's nothing "web specific" about your ActiveDirectoryUser class. And it should stay that way. The code will work unmodified.
2) This is utterly meaningless.
3) Again, a moot point.
ActiveDirectory makes no distinction between being accessed by a Windows Forms app and a Web Forms app.
The problem with interchangability will only arrised if you mix UI code (either Web or Windows Forms specific) into your ActiveDirectory object classes. So long as you avoid making that newbie mistake, you'll be fine.
You may even want to put your ActiveDirectory object classes into their own project, making a seperate .DLL, so you can very easily use the same .DLL in both applications.
|
|
|
|
|
So you are saying that I could use the code the way it currently exists and add it to my windows application? if so, can you tell me what would need to change? I am a newbie at this. I can not see how a directory search will help to solve the problem.
|
|
|
|
|
I already told you, there's nothing to change.
What problem? If you keep all of your ActiveDirectory related code in a seperated project, you can use it in either Windows Form or Web Forms without ayn modifications at all.
|
|
|
|
|
I am working on a C#.net 2008 desktop application where code has been added to verify if a user has access to various parts of a desktop application based upon the tab they select. The C#.net 2008 desktop, code has been added to verify if a user has access to various parts of the application. The user will only see the parts of the desktop they should have access to or a error message will be displayed right away saying 'you do not have access, contact network administrator'.
There has been code added to sql server 2008 r2 also that checks to see if the user has access based upon the groups they are assigned to in sql server.
Current problem. When the user tries to access the sql server r2 database through the application, a runtime error is displayed shwoing the user does not have access (basically to sql server).
Thus to display a user friendly message and close out of the applicartion, I would likec to know what my options are.
Thus let me know if I can do any of the following:
1. Is there some code the .net desktop can access before the first call to sql server to see if the user has access based upon how sql server accesses the ldap code? If so, can you tell me and/or point me to a reference I can use to include in my code?
2. Is there some code the .net desktop can access before all calsl to sql server to see if the user has access based upon how sql server accesses the ldap code? If so, can you tell me and/or point me to a reference I can use to include in my code?
3. If there is no .net code to check prior to the call, what kind of logic can I put in a try catch block to capture the error? What kind of an error would I be getting that I need to check for? What is the exception type, error code, error code number, and/or error message that I should be checking for? Would you display come sample code and/or point me to a url that I can use as a reference?
|
|
|
|
|
Edit your post and remove the PRE tags surrounding your text. The code block is for posting code snippets, not your question.
|
|
|
|
|
|
No, he wants you to edit your message and fix it now.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass." - Dale Earnhardt, 1997
|
|
|
|
|
I did not read this, bad formatting. Again.
Code belongs inside PRE tags, text does not (unless it is tabular data or something similar that badly needs a non-proportional font).
|
|
|
|
|
i will pay attention to that next time.
|
|
|
|
|
0) Just put a try/catch block around your code and handle each exception individually.
1) You can get a list of possible exceptions off the MSDN web site (just google the class.method you're interested in).
2) Handle the exceptions you want to show the user, and pass on the ones you don't.
try
{
create connection
open conn ection
query the database
do something with the data
}
catch (ThisException ex)
{
}
catch (ThatException ex)
{
}
catch (AnotherException ex)
{
}
finally
{
}
Go forth, and code.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass." - Dale Earnhardt, 1997
|
|
|
|
|
Hi all, I am having trouble getting data from GridView and display or populate into textBox.
Senario: I have a GridView first Col is template and it has checkBox as itemtemplate. when I check on of the checkBox it should populate from the selected row's value to a textBox or do other thing.
thanks.
|
|
|
|
|
Try picking up the SelectedRow (msdn link here[^]).
You can then pick up the cell values inside this row and populate the textbox with whatever you need from the row.
Too much of heaven can bring you underground
Heaven can always turn around
Too much of heaven, our life is all hell bound
Heaven, the kill that makes no sound
|
|
|
|
|
Hi there,
I write a program trying to send email via my gmail account, here is the code:
<pre lang="c#">MailMessage message = new MailMessage();
MailAddress sender = new MailAddress("username@gmail.com");
message.Body = "just for test";
message.From = sender;
foreach (String strEmail in emailList)
{
MailAddress reciever = new MailAddress(strEmail);
message.Bcc.Add(reciever);
}
message.Subject = "test";
message.SubjectEncoding = Encoding.UTF8;
message.BodyEncoding = Encoding.UTF8;
SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 587);
smtpClient.EnableSsl = true;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = new NetworkCredential("username@gmail.com","password");
// smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
try
{
smtpClient.Send(message);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
throw new Exception(ex.Message);
}
finally
{
message.Dispose();
}</pre>
but I have an exception in the line :"smtpClient.Send(message);" , here is it:
<pre lang="c#">System.Net.Mail.SmtpException: Failure sending mail. ---> System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: An attempt was made to access a socket in a way forbidden by its access permissions 74.125.43.108:587
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)
--- End of inner exception stack trace ---
at System.Net.ServicePoint.GetConnection(PooledStream PooledStream, Object owner, Boolean async, IPAddress& address, Socket& abortSocket, Socket& abortSocket6, Int32 timeout)
at System.Net.PooledStream.Activate(Object owningObject, Boolean async, Int32 timeout, GeneralAsyncDelegate asyncCallback)
at System.Net.PooledStream.Activate(Object owningObject, GeneralAsyncDelegate asyncCallback)
at System.Net.ConnectionPool.GetConnection(Object owningObject, GeneralAsyncDelegate asyncCallback, Int32 creationTimeout)
at System.Net.Mail.SmtpConnection.GetConnection(ServicePoint servicePoint)
at System.Net.Mail.SmtpTransport.GetConnection(ServicePoint servicePoint)
at System.Net.Mail.SmtpClient.GetConnection()
at System.Net.Mail.SmtpClient.Send(MailMessage message)
--- End of inner exception stack trace ---
at System.Net.Mail.SmtpClient.Send(MailMessage message)
at EmailSender.EmailSenderForm.btnSend_Click(Object sender, EventArgs e)
</pre>
how can I solve it? or what is wrong in my code?
Thanks!
|
|
|
|
|
Try this:
private void SendEmail(string from, string to, string subject, string body)
{
SmtpClient client = new SmtpClient("smtp.gmail.com", 587);
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.Credentials = new NetworkCredential("emailaddress", "password");
client.EnableSsl = true;
string[] emails = to.Split(';');
foreach(string s in emails)
{
if(s != string.Empty)
client.Send(from, s, subject, body);
}
}
Since i didn't watch where is your mistake, I had the method already written and just paste it here
Hope it will work for U too
Qendro
|
|
|
|
|
Don't work, same exception! but thanks anyway
|
|
|
|
|
There's nothing wrong with your code. It would appear that either your machine has a firewall that is blocking outbound port 587 or your routers or network firewall is blocking the outbound traffic.
|
|
|
|
|
I think , that is the reason.thanks !
|
|
|
|
|
Hello Everybody,
I want to know that the what is the Integer Data Type?
How can i create our own datatype?
Thanks
If you can think then I Can.
|
|
|
|
|
An integer datatype holds a number between the range -2,147,483,648 to 2,147,483,647 .
This is one of the build in datatypes.
You cannot really extend data types to build custom ones.
However the var keyword and using an object provide alternatives to built in types.
Too much of heaven can bring you underground
Heaven can always turn around
Too much of heaven, our life is all hell bound
Heaven, the kill that makes no sound
|
|
|
|
|
Actually i want to know that String is a Class and Int is a structure type. Then what is the difference between those datatypes.
If you can think then I Can.
|
|
|
|
|