C# - Storing Static Files To Be Shared Among Azure Roles
Sep 13, 2011
I'm trying to host some static files for access by an ASP.Net web role and a separate data worker role that are both running on the same deployment (they use a global static interface).
However, I'm unsure how exactly to 'host' them, I've tried using virtual folders via HttpRuntime.AppDomainAppPath, but it only occasionally works in debug mode. The files also don't seem to get packaged into the deployment packages made by VS vis CSPack (though this might be a separate issue, is it possible to fix this too?)
The static files in question are actually WordNet, which I'm using through WordNet.Net, If that makes any difference. I also need the solution to work in both the cloud deployment and the emulator (if possible).
I want to store a fairly large amount of static data in a class library.I have used a library before that does this, containing info for thousands of items. The person who made the library got that info from a database and somehow stored it in the library such that you could access it in a variety of ways using different methods. (ID, Name, etc)
I have the following code: Public Class TestClass Public Sub Main() If theGlobal IsNot Nothing Then Throw New Exception("What gives!") End Sub Private Shared theGlobal As Object = Nothing [Code] ..... Why is theGlobal object NOT Nothing?
I've got a shared class (static in C#) which mostly carries some settings data that any class in the application can read and sometimes write. Also there are some static properties which holds some internal states.
Now I want to revert this class to initial stage of it. With all default variables etc. Assume that the user want to reset the current state and start over without restarting the application.
In a singleton model I'd simply renew it with something like this :
Public Sub Reset() _Instance = New MyClass() End Sub
However this is not possible in a Shared class. Or should I switch back to Singleton?
I Want to know which one is preferred while coding to use Static Methods or normal instances, I prefer to use static if they where few but if there was many of them I start to get some doubts
[code]...
if the EmployeeManager Has Many methods (selects deletes updates) is it ok to make them all static.and if it was Normal instance. wouldn't be a drawback if the object is initiated every time specially if GetAllEmployees() is heavily used.What is the better approach to use?
I'm creating a Shared (static) method in ASP.NET MVC so it can be used by any controller in my project. This static method needs to generate a URL. I think I need to use System.Web.Mvc.UrlHelper, but I can't figure out how to call it from within a static method.The constructor seems to want a RequestContext.
how I can dynamically load a control inside of a shared/static function?The function itself is inside of a mustinherit/abstract class.(It's an ASP.NET project in VB) I want to do something like this:[code]I'm getting "Cannot refer to an instance member of a class from within a shared method or shared member initializer without an explicit instance of the class.",but I don't understand this error.I understand what it means, I just don't understand why calling LoadControl isn't seen by the compiler as being an explicit instance of the class. What's not explicit about using LoadControl to create a new control from a file? I tried creating a new user control and initializing it, then setting it to a different control with LoadControl to no avail.I also don't want to do a DirectCast because I'm trying to put this in a shared, mustinheret (abstract) class, which therefore doesn't have an .aspx file to write in a <%@ Reference Control="~/SomeControlPath.ascx" %>, so the class name is unavailable.What I'm trying to do is write a static function that takes some value and returns a control based only on that control's source file location.The end result is a user-modifiable list of controls.They get a column of controls that they freely add, remove, or reorder based on a static list of available child controls that I specify.
[using VB.NET, but I can easily read C# code in responses]I have a class called QuestionClipboard with ALL shared methods/properties. I previously had a QuesitonClipboard.doesClipboardHaveContent function that returned true/false if there was a Object on my 'clipboard'.I'd prefer to implement a Dependency Property so I can allow this true/false value to participate in data binding.The "GetValue(dp as DependencyProperty)" method requires an object instance, which would mean that my Property CAN'T be shared!Here is what the code would look like in my perfect world... Of course, the word "Shared" before the property declaration renders this code useless.
Private Shared clipboardHasContentPropertyKey As DependencyPropertyKey = DependencyProperty.RegisterReadOnly("clipboardHasContent", GetType(Boolean), GetType(QuestionClipboard), _
[code]Now how do i do this in c#. I know there is not handles clause in c# so i need some function that is called and assign the event handlers there. However since its a shared class there is no constructor i must put it somewhere outside of a function.
I have faced with a situation in VB.NET and C# (.NET2) with the visibility of the static/shared members. It seems to me a little strange in VB.NET:
public class A { private static A instance; public static A Instance { get { return instance; } } public string Name { get { } }} [Code] ..... Shared member behaves like a class public one I can repeat it to infinite..
I get this error: Cannot refer to an instance member of a class from within a shared method or shared member initializer without an explicit instance of the class.
Partial Class _Default Inherits System.Web.UI.Page <WebMethod()> _
[Code]....
I know it has something to do with the fact that the first function is shared and the second function should probably be Public as well but I don't fully understand the reason behind it. Probably not relevant but I'm calling the web method from some javascript.
I have a base class with several derived classes. I want all of my derived classes to have the same Public Shared (static) method with their own implementation. How do I do this? Is it even possible?
If I have a 'Shared' object defined in the App_Code folder; is that object shared amongst all users/visitors of my website? Or is it shared on a per-user basis?I don't know if that makes sense or not; but I've got a puzzle/solver I'd written earlier that I'm trying to incorporate into a simple ASP.Net site. It's probably poorly written, but I'd used a Shared boolean to determine if a solution had been found. The code works, now as an ASP.NET site, but if two visitors to my site were both validating their puzzle at the same time, would they both be accessing the same boolean?
I took over an ASP.NET application and have found this throughout several classes in the application. The programmers before defined several shared/static variables that act as "complex enums" throughout the application. As a fairly new programmer, it doesn't look like best practice.
Here is an example: Public Shared SecureCommentsWrite As New Task("Secure Comments Write") Public Shared SecureCommentsRead As New Task("Secure Comments Read") Public Shared EditEmergencyContact As New Task("Edit Emergency Contact") Public Shared DisplayPersonalReferences As New Task("Display Personal References") Public Shared EditPersonalReferences As New Task("Edit Personal References")
The constructor takes the description, then loads the ID key from the database using a stored procedure (the database is SQL Server.) This seems like a good idea since we deploy this application to multiple databases and want to ensure that we load the ID key that's in that database in case it changes. However, since there are literally hundreds of these in the application, the first load takes a while.
Why there is only a static/shared version of ForEach for arrays? IE: ForEach<T>(T array[], System.Action(Of T) action[]) I assume this has something to do with the type inference requirements of implementing an instance method, but when you declare your array you provide type right?
I'm a newbie to threading, trying to learn it as I go. don't make any assumptions and try to explain threading concepts and rules that might seem obvious. I have a Module (Static class) as follows:
Module Main Private ReadOnly _dbConn As SqlClient.SqlConnection Public ReadOnly Property DBConn() As SqlClient.SqlConnection Get Debug.Print("Accessing DBConn")
[Code]...
All throughout the application, when i access DBConn on the same thread, it works as expected. howeve, later on I created a background worker that tries to access DBConn and nothing happens, the thread just hanges (the Background worker). I dont get the printout and the application doesnt continue. the background worker thread doesnt continue past that point, and so the thread never exits. I dont get any exceptions, and i Cant debug in Visual Studio (visual studio hangs).I guess its a 2 part question: why cant i access DBConn from the other thread, and why does it hang without giving me a threadAccess exception? also, why does visual studio hang (I'm assuming it hanges because the thread is hanging)?
Please Note: I am not asking about practice. I know I shouldnt be sharing the same connection, rather returning a new connection. in this particular application it is safe since (although i execute it on a background thread) as per the flow of the application, the connection can only be accessed one at a time. I just want to know why it hangs accross the thread.
Public Shared Function MyValue() As Integer Return 0 End Function Public Sub Code()
[Code]...
Me.MyValue gives a warning in VB.NET and (the equivalent code gives) an error in C#. Is there a particular reason for this? I find it more intuitive/natural to access the shared function using 'Me.MyValue' - but I avoid it to keep my warnings at 0. Did someone else just decide 'Nah, it makes more sense to do it the other way' or is there some technical reason I don't understand?
EDIT: I was thinking of it wrong, more like a 'sub class' in OOP. Even if something is declared in the base class, you access it through the instance you have. But that relationship is not the same with shared or static.
I would like to understand the Pro & Cons in using the commonly used methods via Singleton class against Shared (Static) members of a class in VB.Net. It could be in terms Time, Space complexity or best practices. I have a BankAccount class with methods doing some business logic.
My current approach of using Rijndael is to use a pair of static Key and Iv for all encryption operations (I mean I use this pair of Key and Iv for all protected files in my computer).
I heard that IV must be unique for each Rijndael encryption. Is that true? What is the problem (if any) for my current approach of using single static Key and Iv pair?
In Java you can store a class in a separate file and instantiate it from a method in another file as long as the class file is in the same directory but this doesn't seem to work in Visual Basic.
I am in front of a great dilemma whether to store files in Database or doing it the standard way. I would choose the second option, but my application will be used by multiple users, so I am doing it by Web Services.
On the one hand, storing in database will be very useful as every user would have access to everything very fast, not caring about file paths, locations and so on.
On the other hand, if this table consists of 1000 files, wouldn't it be a bad idea as there should be some performance loss?
At the present moment, I am using mysql as database, but I am thinking of moving to SQL Server, but I suppose this is not DB Issue.
I am making a program that stores information for my applications. There are 4 main things I need in the XML file, the login information (User name and password), Application names and keys, and the owner of the application (who bought it). The program allows the user to enter as many applications and owners as they want and once login information is correct it loads the data. Then on exit all the data saves to a XML file.
My XML file looks like this <Data> <Login> <UserName> (UserName) </UserName> <Password> (Password </Password> </Login> <Applications> [Code] .....
I'm creating a bookmark library cause my friend requested but I do not know how to make it so that you can add bookmarks while you are inside the program and have them stay there even if you close it.
I use this function to convert file to bytes array:
Public Function ConvertToBytes(ByVal path As String) As Byte() Dim _tempByte() As Byte = Nothing If String.IsNullOrEmpty(path) = True Then Throw New ArgumentNullException("File not exist", path ) Return Nothing End If