Fastest And Efficient Way Of Creating File In .NET?
Jul 28, 2010
I've an arraylist having 30000 items in it, what's the best way of creating a text file on the fly from an ASP.NEt page? Currently I'm using the code below but it times out with large data,
Using fileStr As New FileStream(sFileName, FileMode.Create, FileAccess.Write)
Using writer As New StreamWriter(fileStr)
writer.WriteLine("Error Messages") [code].....
I'm trying to optimize my ASP.NET thumbnailing script, so it doesn't resize all the images all the time, and one part of the problem is choosing the hash function for the thumbnail naming/checking procedure.Is crc32 up to the task - I'm asking cause the input data is small(only relative path, size and date)?
I have one main doubt for long perioad, If we access the DB using SqlDataSource and ObjectDataSource, Can i know which is the fastest accessing the DB.
I am trying to complete my function below but got lost in the different methods out there. It will always return 1 row and I need to get the values of the record and ADD into a new row. The function returns a DataTable.
I have a bytes of data. Eg : 1024 bytes. And in that, say "Name Age Occupation" etc. All are only values. I have another skeleton xml which will have the <Name/><Age/> etc.
I need to loop through the bytes, say first 5 bytes is Name, Next 2 bytes is Age etc and fill up in this XML. I'll have 1000s of records and so need to know which way is the fastest.
Will the code be fastest or is there any way i can do by XSLT or similar component?
I'm using Webservice which will return the data from the database through datatable and I'll convert the datatable into byte array. In front end, I'll reconvert the bytearray to datatable and used ajaxloader to display it in the form.. It is dynamic loading. So, for each click, it is taking 10 seconds to retreive the data regardless of the size of the data. So, I used static datatable and I've loaded all data in that datatable in page load event. But, no reaction. It is taking only same time. Even, there is no data to retreive, the ajax loader is going on loading for 10 seconds. Problem is with Ajax or my webservice?? Plz, tell me some other idea??!!
I am a .NET / C# back end guy. I am working on a app that will have about 200 different data entry screens. For me exposing DTO as a collection for CRUD (IUpdatable and IQueryable) is the easy part, I can do it in my sleep :-). What I am trying to decide is what type of front end technology will allow me to develop these data entry screens fast. They don't have to be fancy but they are not just plain grid either and on average they have about 15 form fields and some client side data validation (no db look up) Options I am looking at are
Use ExtJS on the front and REST / JSON on the back. ASP.NET RIA but I do not know SL (Well XAML) Plain ASP.NET / MVC One idea I had was the DTO will contain the meta data about the form (As Attributes) and the form can be dynamically generated, but I do not want to reinvent the wheel if there is an easier way. I have looked at RAD software but all of them look at the DB and generate screens. I'd rather want something that can look at my DTO and generate screens.
I am trying to run a linq query but I need the result as a datatable as I am using that to store records from different queries in the same viewstate object.The 2 versions below compile, but return an empty set. The exact error is "Value cannot be null.Parameter name: source". (and yes I have checked there is data):
MyDatabaseDataContext db = new MyDatabaseDataContext(conn); IEnumerable<DataRow> queryProjects = (from DataRow p in db.STREAM_PROJECTs.AsEnumerable()
I have created an excel sheet from datatable using function. I want to read the excel sheet programatically using the below connectionstring. This string works fine for all other excel sheets but not for the one i created using the function. I guess it is because of excel version problem.
OleDbConnection conn= new OleDbConnection("Data Source='" + path +"';provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;";);
which i can create an excel sheet such that it is readable again using above query. I cannot use Microsoft InterOp library as it is not supported by my host. I have even changed different encoding formats. Still it doesnt work
I have looked at two of Microsoft's tutorials for MVC. In one tutorial they are creating a .edmx file to handle the Entity Framework in order to execute Linq queries. In another tutorial they made a class called "MusicStoreEntities.cs" here is the code:
using System.Data.Entity; namespace MvcMusicStore.Models { public class MusicStoreEntities : DbContext { public DbSet<Album> Albums { get; set; } public DbSet<Genre> Genres { get; set; } public DbSet<Artist> Artists { get; set; } public DbSet<Cart> Carts { get; set; } public DbSet<Order> Orders { get; set; } public DbSet<OrderDetail> OrderDetails { get; set; } } }
And the tutorial creates an instance of this class and starts doing Linq queries as well. What are the differences between these 2 methods? and how can I make DbSet objects in a .edmx file?
It's simple to do a webrequest, get the page and parse the html to get the title of the page. But I'm wondering if there is a more efficient way that is faster, and doesn't require downloading the whole html?
I am new to databases and linq, so my problem may be considered trivial. I currently start all my db requests in each class with:
DataClassesDataContext db = new DataClassesDataContext()
Then I proceed to make whatever linq request I need within the method and carry on with the main application logic.
Now, two interesting queries:
1) I believe I have seen people wrapping db usage within 'using'. Such as:
using (DataClassesDataContext db = new DataClassesDataContext()) { ... }
If this is correct, then doesn't it mean that my class can't use a member 'db' variable anymore, but rather those db requests need to be made within each function call? Also, what exactly would happen if I don't use 'using' within the calls?
2) Running my app with SQL Profiler enabled, I see lots of connections opening and closing. Does this means that each
DataClassesDataContext call makes a separate connection? It seems inefficient, so is the right way to actually make the DataClassesDataContext object a static within each class being used?
What's the best way to do this? I have seen quite a few examples that use a Dataview etc. what is the best method. I'm thinking about speed issues when a grid has a few thousand records etc.
I have a requirement where 15 listviews have to be loaded on a web page.But only one shown at a time. Number of columns will be only 2 for each and Number of rows for every listview is very limited.The thing I am not able to decide is the sorting method.1. If I am using the datasource control, it automatically sorts my listview.2. If I am programmatically populating listview , I will have to sort my datatable and rebind to the listview.To use the second method I have to store the datatables in sessions.So taking that into consideration, will datasource control be more efficient ?
Assuming a list of objects, each with an ID, what's the most efficient way of building a carousel, so that each object knows what its previous and next item is. The Last Item's previousId will link to the first item. The first item's previousId will link to the last.
I need the ID of the previous and the ID of the next, as this will be used to populate next and previous buttons on a web page.
I know I could iterate over them, adding placeholders for _next and _prev id, but what's the most efficient way to do this?
I figure my object should look like this:
class Item { public int Id { get; set; } public string ItemName { get; set; } public int Next { get; set; }[code]....
I think I'm looking at this wrong way. Is there a better way of doing this?
I am making a blog application and for the sake of my question I have 2 tables: Posts & Comments. I would like to loop through the posts and use a nested loop to display the comments relating to a specific post. Currently, I am using this code:
[Code]....
Obviously this is a simplified version. Is this the most efficient method of displaying this kind of data?
I am outputting the entire HTML for my server control as follows:
public override void Render(HtmlTextWriter output) { output.Write(myStringBuilder.ToString()); }
myStringBuilder is a StringBuilder object that is manually built in a separate private method.Is this an efficient way to do it? Or is it better to pass the HtmlTextWriter to my private method and make multiple calls to HtmlTextWriter.Write()?
What is the most efficient way to transmit messages in WCF? I've done a few basic walkthroughs of WCF and upon analyzing the XML transmission I saw that they were very large by default... Containing what appears to me, as a lot of unnecessary information, for my needs. I'm looking for a way to send the shortest messages possible. How can I trim as much as possible from the XML? Can I remove all the header information. What approach for sending the shortest messages possible using XML in WCF?
I'm starting to run a few ads on a website, and I'm trying to decide the best way to track performance.
Specifically,What's the most efficient way to count clicks? About the only way I can think of is to link the ad to another page with the ID of the ad as an argument (e.g. adserver.aspx?id=1234). The other page would then update the database and do a redirect to the advertiser's link. However, it seems inefficient to have to load a separate page for this. Are there any other options? Also, it seems like I might need to know stuff like how many clicks occurred in a given week. But storing a separate database row with a date for every single click seems excessive. Has anyone else done something like this? Would it make sense to maybe create a new row for each week and increment a counter for all clicks that occurred that week?
I'm doing some custom code for a SharePoint webpart in C#. Specifically, I'm making a quiz, my main point here addressing the list that holds the question, answer choices, and correct answer.
At the last stage of the quiz I need to check the answers selected by the user against the correct answer in the list. Currently, I'm doing the following to check if each is correct, which I'm assuming isn't very efficient because it iterates through each question. Is there a method, specifically for the SPList foreach loop, that would be more efficient?
// 1. Store questions and answers in class List<submittedAnswers> answeredQuestions = new List<submittedAnswers>(); // 2. From POST pull answered question IDs and answer IDs (which correspond to the question primary key and answer choice number both stored in the list) // INSERT BEAUTFIUL AND EFFICIENT WHILE LOOP HERE // 3. Loop through each question is list, if question was given, test if correct/incorrect using (SPWeb myWeb = mySite.OpenWeb()) { SPList answerList = myWeb.Lists[questionList]; foreach (SPListItem quizEntry in answerList.Items) { int pullAnswerId = int.Parse(quizEntry["Answer"].ToString()); // Pull answer number from list int pullQuestionId = int.Parse(quizEntry["ID"].ToString()); // Pull primary key of question submittedAnswers result = answeredQuestions.Find(delegate(submittedAnswers e) { return e.questionId == int.Parse(quizEntry["ID"].ToString()); }); if (result != null) { if (result.responseId != pullAnswerId) // If the response was different from the answer incorrectAnswers++; else correctAnswers++; } } } // C# quiz grading magic here....
As the title implies how can I create a new log file each day in C#? Now the program may not necessarily run all day and night but only get invoked during business hours. So I need to do two things.
How can I create a new log file each day? The log file will be have the name in a format like MMDDYYYY.txt
How can I create it just after midnight in case it is running into all hours of the night?
I have a listbox on my site that is populated with data. I then have a textbox that is used to enter a search phrase and with each letter that is added the listbox is narrowed down or repopulated using javascript. I use one listbox to store all the items and a secondary showing the listing results. This makes it east to check against all items and then populate the second listbox with all the results according to the search.
Currently this process can cause a delay in updating the listbox (eg when the textbox is emptied all the items need to be repopulated from the listbox with all the data).
What is a quick and efficient way to perform this listbox search?
A sample linq query from MSDN: var expensiveInStockProducts = from p in products where p.UnitsInStock > 0 && p.UnitPrice > 3.00M select p; Does this query select EVERY column from the database table immediately, or does it return some sort of pointer that retieves the actual column data on demand? ie. If there are 50 columns in my table and I only use a single p.UnitsInStock in my actual code, then am I retrieving 50 times more data than I expected?