|
I'm going to start tracking the WinFX reversal movement status here. The people at Microsoft have been kind enough to respond to my emails, and I'm sure some people are interested in reading the correspondence.
So far it's gotten around 890 signatures, and it's cast light on some really significant problems with the naming beyond just recognition or Mono/Compact Framework support.
August 9
Start of the petition against the decision by Microsoft to rename WinFX to .NET 3.0.
Read the petition here: http://www.petitiononline.com/winfx/petition.html[^]
August 23
Paul Krill of InfoWorld reported[^] on the petition. About 200 people signed in the couple days following.
September 1
Microsoft released .NET 3.0 RC1. Mixed feelings on this one... yay for RC1, boo for .NET 3.0.
September 18
Chris Maunder wrote about the name change and petition in the headlines of the Code Project weekly newsletter. Another 200 or so signatures in about one day.
-- modified at 6:17 Thursday 12th October, 2006
|
|
|
|
|
Have you abandoned this project? I don't see any activity for more that a year.
Thank you,
de
|
|
|
|
|
Somewhat. .NET 2.0 has an HTTP server class built in along with a lot of crucial features that I was hoping to implement, namely SSL. MiniHttpd was mainly intended for .NET 1.1.
Is there something I can help you with regarding MiniHttpd?
|
|
|
|
|
I hadn't seen any activity for a long time.
I've converted the project to .NET 2.0 and a bunch of things in the sample app broke - like the tree menu got unhooked from the tree and the actions all got unhooked from the menu items. Also, the classes (and properties) of the menubar and context menus have all changed so any minor change to the menus essentially means reworking the entire set.
The end result is that the tree is not updateing correctly and drag-drop was broken.
This had made it a bit difficult for me to "get the hang" of how to use the core stuff.
I am in the process of trying to straighten it out.
If I get stuck, I will post a question for you.
Thanks,
Dan Essin
|
|
|
|
|
Ahh that sucks.
I'm pretty busy right now, but if you still need help in a week or so, remind me and I'll try fixing the UI to work properly in .NET 2.0.
Rei
|
|
|
|
|
Thanks. I think I've mostly got it working. I've also added an embedded IE pane that I'm going to use to test the behavior of the server and put everything in a set of split containers to that it can all be resized.
I've also fixed up the links in the about form to use the 2.0 LinkLabel features.
I've also changed the logic for deciding which tree menu items to enable.
I'm curions about OnRootNodeChanged(). It is fired 2-3 times when the app starts up before the time when the real saved state has been deserialized. This doesn't appear to hurt anything but it seems a bit untidy. I'm not real familiar with the events that are generated by web servers so this may be unavoidable. On further study the extra events are comming from:
[Category("Directories"), Description("The type of the root folder, either a root folder or a drive on disk.")]
public DirectoryType RootType
{
get
{
return form.rootType;
}
set
{
form.rootType = value;
if(value == DirectoryType.Drive)
{
if(form.server.Root is VirtualDirectory)
{
BinaryFormatter formatter = new BinaryFormatter();
if(form.serializedVirtualRoot != null)
form.serializedVirtualRoot.Close();
form.serializedVirtualRoot = new MemoryStream(); formatter.Serialize(form.serializedVirtualRoot, form.server.Root);
}
form.server.Root = new AspxAppDirectory(form.rootPath);
//form.OnRootNodeChanged();
}
else
{
if(form.serializedVirtualRoot != null)
{
BinaryFormatter formatter = new BinaryFormatter();
form.serializedVirtualRoot.Seek(0, SeekOrigin.Begin);
form.server.Root = formatter.Deserialize(form.serializedVirtualRoot) as VirtualDirectory;
}
else
form.server.Root = new VirtualDirectory();
}
//form.OnRootNodeChanged();
}
}
Commenting out the 2 OnRootNodeChanged calls does not seem to impact the app. What do you think?
Dan
|
|
|
|
|
Hmm cool. I can't remember exactly, but I think the reasoning behind that was that the app should be in a working state even if the file didn't load properly.
You'll find that MiniHttpdApp isn't very optimized; I duct taped it together mainly as a sample application and to just share files on machines without IIS or Apache.
One thing that I've been wanting to work on is the serialization for virtual folders -- right now it just dumps a binary serialization text-encoded into an xml tag in the config file. It's not very robust. Xml serialization has improved a lot since .NET 2.0 though, so that might be interesting.
IE pane sounds nice too
|
|
|
|
|
I could email you a copy of the project in its current state, if you like.
The browser pane could use some enhancement. Right now it just has a hard-coded button that navigates to the home of the web server and a back button.
Dan
|
|
|
|
|
Thanks, That would be great. I'm not sure when I'll be able to work on it enough to update the article but it would be nice to have.
My address is rei at (nospam) hotmail, minus the nospam and with the dot com.
|
|
|
|
|
I tried mailing you at hotmail but it bounced twice.
I simply cannot get the aspx part to work. This is what I tried to send before:
I'm a little confused about how to make the aspx server work.
I've created an asp web app that just displays some text. It works fine if I run it in debug mode within VS.
I've created a virtual directory and pointed it to the location of the aspx file and I've created a directory and dragged the apsx, web.config and .dll files into it.
Neither runs the page.
in the code:
protected override void SendFileOrIndex(HttpRequest request, IResource resource)
{
for(IResource current = resource; current != null; current = current.Parent)
{
if(current is AspxAppDirectory)
{
AspxAppDirectory app = current as AspxAppDirectory;
if(resource is DriveFile)
{
current is never and AspxAppDirectory
also there is an error on the default constructor for AspxAppDirectory. It does not call this(port) therefore the cascade of constructors is never invoked and the default.aspx never gets added to the list of default pages.
This means that even if current was an AspxAppDirectory, the default behavior part would never get invoked.
Some guidance would be greatly appreciated
Dan
|
|
|
|
|
type:
current is AspxAppDirectory is never true
Dan
|
|
|
|
|
ASPX can't be hosted in virtual directories, unfortunately. The ASPX engine requires actual directories to run under.
|
|
|
|
|
By the way, do you think you can try rei at (blabla) the fraser (yadda) dot com?
|
|
|
|
|
btw - IE does not seem to be able to open the pages served by this web server. It gives a "This page cannot be displayed" message. Firefox works perfectly.
Any thoughts?
Dan
|
|
|
|
|
Please ignore that last message. I found the cause of the problem.
Dan
|
|
|
|