C# - Delete Entries In Static Dictionary When Not Used?
Jul 3, 2010
I have a static class that holds a dictionary of objects. I have multiple threads that access this dictionary and create objects on it that are specific to that thread. How and when can I remove entries from the dictionary when a thread is "done"?
Basically this is a static class for an ASP.NET application that all requests can have "isolated objects" (that are related to the current thread) created in the dictionary. But, I don't really want to be tied to ASP.NET.
I have a class that maintains a static dictionary of cached lookup results from my domain controller - users' given names and e-mails.My code looks something like:
private static Dictionary<string, string> emailCache = new Dictionary<string, string>(); protected string GetUserEmail(string accountName) { if (emailCache.ContainsKey(accountName)) { return(emailCache[accountName]); } lock(/* something */) { if (emailCache.ContainsKey(accountName)) [code]...
im wondering if its possible to add a asp button to the code below, the code below adds an image and text from my database to a dynamic div on my asp page:
using System.Data.Odbc; using System.IO; public partial class UserProfileWall : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e)
I need an advice on piece of functionality that I am ought to implement. The scenario is that we haven an HttpHandler which servers to intercept file uploads. In the handler, I need to persist a large dictionary of strings inside the memory. The dictionary might be as large as 100 entries. I am wondering whether it is safe to store that in a static variable, so that it is not initialized every time instance of the handler is created (there will be a lot of instance for sure). In general, what is the approach in such scenarios. Is it a generally better idea to use static fields, to persist data that will not be changed?
I have a private static field in my Controller class in an MVC web application.
I have a static method in that controller that assigns some value to that static field, I want to apply lock on that static field until some other instance method in the controller uses the value stored in the static field and then releases it.
DETAILS:
I have a controller named BaseController having a static ClientId field as follows and two methods as follows:-
public static string ClientId = ""; static void OnClientConnected(string clientId, ref Dictionary<string, object> list) { list.Add("a", "b"); // I want the ClientId to be locked here, so that it can not be accessed by other requests coming to the server and wait for ClientId to be released:- BaseController.clientId = clientId; } public ActionResult Handler() { if (something) { // use the static ClientId here } // Release the ClientId here, so it can now be used by other web requests coming to the server. return View(); }
I did some research after posting. All I found was simple examples for no-layer architectures, like connecting to a database from your aspx page, so, in a corporate environment, it is unnaceptable.
I need to call a server-side method (using ASP.NET Ajax) in a 3-layer architecture.
For example, my Default.aspx contains a method LoadProducts().
[Code]....
[Code]....
This cannot change. There is no way to convert Business and Data layers to static.
How can I call the LoadProducts() method using ASP.NET Ajax?
I have a question about C Sharp ASP.NET:Is there a difference (in code speed, resources) between:public static variable declared in public static class MyGlobals in a 'Code File' template;and the variable declared in a normal 'Class File' template;I use this variable in 2 different Class Files and also in _Default Page codebehind cs file.In fact in my case I need about 20 global variables of type List<string>.
whats the exact use of static variables in overall programming in .net and for asp.net...
Recently i went for the interview where interviewer asked me 2 question which i was not sure for the same..
whats the use of session object, i said sessions are the server side object, they are used when you want to store user specific data at server side, then he asked what if i want to use static variables for the same, i was mum, can anyone tell me how asp.net will behave if i store the user specific information in static variables.If i use cookies which are the best option to store the data at client side (not sensitive one), but what if user has disabled cookies on his machine, will my application would crash.
have a button which add an entry to the database, but I don´t want to add the same entry twiceIs there a way to check using linq? something with .count? I´m kinda lost
I am using the TextBoxWatermark extender ASP.NET AJAX extender this works great, but i still want to have the comfort for my users, that the textbox remembers their entries e.g.:
Login=> TextBox with UserName
- if two people are using the same computer, they don't want to type UserName each time again instead click in the box and choose their UserName or start typing and their UserName is than suggested.
It seems to be a standard funktion that a TextBox remembers the entries you did. Unforantly when using the watermark extender on a textbox it simply does not work anymore.
Is there a way to enable this „feature" again?
When looking at the example of the TextBoxWatermark ASP.NET AJAX extender: [URL] it is not working their as well.
Suppose the form is to be submitted to Controller: Product, Action: Add. What sort of coding techniques can I use to handle this dynamic form, such that I follow good or best practice, and if possible also be elegant.
The solution I see so far is to test the Request.Form (or Formcollection) indexer/dictionary for existence for the dynamic input fields. E.g.
public ActionResult Add(Formcollection form) { int productEntry = 1; string productPrefix = "Product"; while(true) {........
how am I be able to validate multiple entries (textbox control). It seems that using custom validate is not possible because each validator has one control to validate. In my case, I have to determine if at least one entry was filled with data.
I am getting an error whenever I try to get the first character from a textbox control when nothing was entered into it. So, I need to be able to check if there are any entries in a textbox before trying to get the first one.
I want to show just a 8 entries pro time, and above the table make some kind of navigation (like 1 2 3 4 5 ..) and if i need to see next 8 entries I#m clicking on the number 2, i see them. I dont know how can i do all this.
i working with mvc, and i want too that this solution is dynamic, that by more entries automaticly will have longer navigation 56 enties = (1 2 3 4 5 6 7).
I am using the built in database with the tables (i.e. membership, users, etc...). I created my own table (relationships), but when I try to create a row that uses the same email address it says "cannot create duplicate entries". I am not allowing duplicate email addresses in the membership table. That did not work because I couldn't convert System.Guid to long. So, I decided to do it by email address. I changed idRequester to requesteremail and the same for receiver. However, when I try another record with the same email address in either field, it does not accept it.
if i enter the value in the textbox based on the textbox value it should go to that page.for eg: i've one textbox,one buttonand three forms namely plant.aspx,green,aspx,companies.aspxif i enter the text as "what is plant" into textbox and click the button the it should search the word plant and redirect it to plant.aspx form.if i enter the text as "what actually green is" into textbox and click the button the it should search green and redirect to green.aspx form.
I'm wondering how to make a column that counts the number of entries like each entry that i made an is given an individual numbern the SQl Server it self
I'm creating a shopping basket in ASP.NET using session variables to pass the data from a shopping.aspx page to basket.aspx, currently I have the pages passing the primary key of the product with a gridview on the basket.aspx used to display the data from the database.However this only works for one item at a time, how can I extended the session variable so multiple products can be added, as well as quantities etc?
I'm using SqlMembershipProvider and SqlRoleProvider for user management.
Users are created by
Dim MCS As System.Web.Security.MembershipCreateStatus Dim NewUser As MembershipUser = Membership.CreateUser(TB_UserName.Text, TB_Pw.Text, TB_Email.Text, TB_SecQuestion.Text, TB_SecAnswer.Text, False, MCS) later, after email confirmation, I take the user into a specified role Dim myUser As System.Web.Security.MembershipUser = Nothing myUser = Membership.GetUser(New Guid(Request("RegID")))Catch If myUser IsNot Nothing Then myUser.Comment += " approved " Membership.UpdateUser(myUser) Roles.AddUserToRole(myUser.UserName, "role") End if
After this I have two entries with the same UserName in aspnet_Users table, but with different UserId's. One UserId is referenced in aspnet_Membership table and the other in the aspnet_UsersInRoles table.