Web Forms :: String And StringBuilder - Any Change Updates Memory Location Rather Creating New
Oct 19, 2010
String is immutable and StringBuilder is mutable. So if I change the value of a string a new memory created with the new value, whereas in StringBuilder it updates its memory location rather than creating a new memory location. So for large concatenation stringBuilders are preffered. But when I create a new String object, a fixed memory is created. And any changes will update its memory location, rather than creating a new memory location.
For e.g.
String s = new String();
s = String.Empty;
for ( int i=0;i<100; i++)
{
//s = s + "test" + i.ToString();
s =string.Concat(s, "test" + i.ToString()); ///This is effecient compared to previous step
}
Now instead of String class I will use a StringBuilder class.
StringBuilder s = new StringBuilder(String.Empty);
for ( int i=0;i<100; i++)
{
//s = s + "test" + i.ToString();
s.append( "test" + i.ToString());
}
I want to create new string or stringbuilder based on condition; Example . I am updating a count variable "i"; if i = 100, i need to create a string or stringbuilder; if else i = 200 i need to create a new string or stringbuilder; if else i = 300 i need to create a new string or stringbuilder; and so on how i can achive this?
Bit of a weird title, but here's the deal. For a web site I'm working on, we have the need to generate quasi-3D images on the fly. Basically, it's for an art site, and we have the need to show a 3D representation of a Canvas given a 2D image (jpg). (See here for some context.) The approach we're taking is to leverage the WPF 3D API and create a Viewport3D in code, add a bunch of points to it with the correct dimensions, and then apply the textures from the original jpg appropriately. While testing it, I was testing it the whole time in a sandbox environment, and in the built in Cassini web server in Visual Studio. While trying to migrate it over to the actual code repository and testing it there, it stopped working. The image that's pumped out is the correct size, but is completely blank. It's totally black. After hours of banging my head against the wall, I figured out that it's an IIS issue. I created a simple sample app to demonstrate the issue (doesn't add images though it just paints all sides green), however since most of the code is largely irrelevant to the question, I won't put it here, rather I'll post a link to it:
[URL]
If you do download it and want to run it, in the code behind of Default.aspx you'll see this:
Feel free to change that path to whatever, and make sure that the correct permissions are in place as it'll try to save a file there. If you try that sample in Visual Studio with Cassini, it'll work fine, and you should have a new file called "output.png" which has a green 3D cube. If you try it in IIS, you'll get a blank image. A few points: Before anyone asks, yes, I gave all the proper folders the correct permission issues. I also do the actual 3D generation and image saving on a separate thread with the Apartment state set to STA. know this is a bit of an unusual case of fusing WPF and ASP.Net, but by some chance, Is there some setting in IIS that I need to change? Is there some limitation to the WPF API that won't allow it to run out of IIS?
I'm using the following code to get a list of sites from a database and then show a short extract from the posts. The number of posts shown and the length of the extract is defined in the appsettings of the web.config.
[Code]....
I get the following error:
Index and length must refer to a location within the string. Parameter name: length
I'm a bit of an ASP.NET newbie and I am creating a data table in memory and binding this to a gridview control. The code is as follows:
Dim DstBasket As New DataSet, TblBasket As New DataTable With TblBasket .Columns.Add("BskPrdCd", System.Type.GetType("System.String")) .Columns.Add("BskPrdDesc", System.Type.GetType("System.String")) .Columns.Add("BskQty", System.Type.GetType("System.Int16")) .LoadDataRow(Split("12345,Test product 1,1", ","), True) .LoadDataRow(Split("122,Test product 2,2", ","), True) .LoadDataRow(Split("123A,Test product 3,5", ","), True) .LoadDataRow(Split("44,Test product 4,1", ","), True) End With DstBasket.Tables.Add(TblBasket) With LfnGridView("GdvBasket") .DataSource = DstBasket .DataBind() End With
The data displays in the gridview control fine with both edit & delete options but when I attempt to delete, it has no effect. How do I force removal of the relevant row from both gridview and table? Most of the documentation I have unearthed shows how to achieve this when connected to a SQL table which is clearly not the case here.
When i run the following code i get an error when gridview changes mode to Edit. stating that you can't change string to decimal!
To get around the occurance i want to disable code when in Edit mode or resolve another way?
GridView1_RowDataBound For Each row As GridViewRow In GridView1.Rows Dim cell As TableCell = row.Cells(7) Dim invoicetotal As Decimal = CDec(cell.Text)
By defauly in my web.config I have set the , in runtime I just want to change the Mode = "Off" in memory. I do not want to save the changes to web.config.
Basically we need to see the description of the runtime error, when required.
I am currently using the LoginStatus Control to display the Login/Logout button. I want to change the location of the login page. Currently the login page is on login.aspx (default) but I want to have it so that when the login is pressed it re-loads the current page but attaches GET variables such as ?action=login to the URL. Reading through the .net documentation I found this: Quote: LoginStatus control provides a link to the login page defined in the application configuration settings. I'm not sure which configuration setting this refers to. Where exactly can I edit this value?
I am developing an ASP.Net MVC application that throws a "Required permissions cannot be acquired" exception.The weird thing is that if I change the location of the folder containing my app to another location, the app runs just fine. (i.e Copy the folder from .../Programs/MyApp to ...Desktop/MyApp)I have checked the folder permissions and they are fine
I need to change the location of a web service. During development, I've made a reference to a web service in my local computer in my Visual Studio web site, and with the following command I use it
Dim LoginService As localhost.IPelosaLoginservice = New localhost.IPelosaLoginservice
Because I used localhost it works fine even after deploying to a production web server.
By adding a web reference in Visual Studio, the web.config is update with a key containing the name of the service and the path.
Now I need for one customer to change the path of the web service (because they work with a modified one). How do I do this? I've changed the path in the web.config, but that doesn't seem to make any difference.
I can't believe that you have to change you're code, add another web reference and deploy the program. There must be a better way, since I want the code for the web sites for alle the customers to be the same.
I have a webservice that works locally but when I publish it to our web server the auto-generated WSDL uses the server's name rather than the host name.
I have searched the internet but only found complex answers. There should be a simple web.config change or class attribute setting to change the target location.
Basically the auto-generated WSDL uses this location (host name) "http://servername.domain.com" rather than "http://services.desireddomain.com"
I even tried saving the auto-generated copy and manually changing the target locations. But that didn't work either for some reason; it seems that it should have.
this might seem REALLY simple but i'm not a genius...anyway, i know i saw this somewhere: here's what i want to do: link the web.config file to my membership database...which i am going to put on a separate server on the network.
I am developing a website in MVC 2.0. I want to change the View folder location in my website. I wanted to keep the views folder inside other folders, When I try to do so i am getting following errors
The view 'Index' or its master was not found. The following locations were searched:
Description: An unhandled exception occurred during the execution of the current web request. review the stack trace for more information about the error and where it originated in the code.
My Views folder will be in ~/XYZ/ABC/Views instead of ~/Views. Will I get any problems If I change the default Views folder location. Do I need to change anything in HTML Helper classes because I don't know anything in MVC as this is my starting project i dont want to risk.
I have a table in my database, in which a certain field holds the locations of text or doc files (the files are of a transcript for a chat session).
In the Gridview right now i able to show the link locations. But i want to have Hyperlink or Button in the links location in the Transcript Location fields.And on the click of which the txt or doc file opens up in notepad or microsoft word.
I've got a click tracking AJAX function (calls a WebMethod on an .aspx page), and I need to call it when the user clicks through to a link.Unfortunately, I'm using window.location = "newUrl" to change the page, which seems to make the AJAX call fail. Is there a way around this?I do not need to get any information back from the AJAX call, I just need to make sure the WebMethod is called'm aware that I could just redirect on the success() or failure() calls, but then I would have to wait for the clickTracking() method to run, which takes ~ 1s. That is not acceptable by the agreement in the project spec, and so is not a viable solution.
I have a web project with a data model defined in an edmx file. The connection string starts like this:
metadata=res://*/;
This has worked fine for a while. But somebody else working on the project created a dll that also uses the entity framework and added it to the bin folder. Now when I try to create my connection there is an error loading the metadata.
Aside from totally changing the way one or both of us is doing things, I wonder if the problem can be fixed if my connection string can be changed to only look for the metadata defined in my edmx file. The problem is, for the life of me I can't find the right syntax to do this. The metadata is embedded in the output assembly, so there are no physical metadata files to point to. How exactly should I specify the metadata location in the connection string?
currently i have db name , server name & coonection credentials for sql daTAbase hardcoded in webconfig but i need to create a dynamic connection string in which db name will change currenly i have a main .aspx with a button & on its click event i get the connection string frm webconfig and move on to next page
wht i need is in the main page i need to populate all the db of a particullar server in a dropdown the user will first select the db frm drpdown & click the button & with the db name frm dropdown connection string shld be formed
I'm trying to build a web page where the user can send the contents of the web page to someone of their choosing. The email body is html scraped from the website. I have it working, but the the problem is that the image src is relative <img src="/images/filename.jpg"> and I need to make it absolute. What function is the best for me to use on the string that contains my html to make file path absolute in the method I'm trying to create? I tried the following, but am getting error "too many characters in character literal"