 |
|
 |
Try wrapping your brain around the fact that if you incorporate this system with another teeny library called C#SQLite that you are well on your way to creating your own small outline content management system (CMS). The nice thing about IS is that you could script the web portal pages into life at runtime eliminating storage overhead by half as the web pages themselves are created dynamically in the browser. It becomes increasingly difficult for hackers to ravage a system like this as there are fewer targets and the minimal size of the library would allow it to easily be contained with in a manageable security policy and domain; the system would also be high visibility for the security conscious web master as the grounds to cover are minimal and reaction times significantly reduced when dealing with web based attacks.
How's that for a mind numbing experience.
Small, capable, portable and embeddable web server system for development tools like web editors; etc. entertaing any number of scripting and HTML language sets. Slap this bad boy in a desktop system or a server based Silverlight application and/or both getting consistent results for end users at home or on a capable mobile device platform like net books and smart phones. Unified and uniform workflow...
Build a UPnP server in your spare time in C# with Silverlight front ends or regular HTML - who cares it's all apparently possible with this lib.
I smell an HTML parser and/or validator possibly even a borderline XSLT parser plugin library taking care of transformations to web markup.
Yeah, I lost my mind there for a moment - it's been awhile since I've been back to CodeProject - I missed you nerds.
Take care.
I was unaware of that...
|
|
|
|
 |
|
 |
Hi,
is there a place to download the newest sources ?
i try the download at this page ( on top of this page )
after compiling the sources , the InsomniaServer.dll is a version 1.0.2.1
but in your demos it is a 1.0.3.0 ?
greets
|
|
|
|
 |
|
 |
Hi,
Thank you for your feedback.
I just submitted an update for the article including the latest source version I could find (1.0.3.0). It should be on CodeProject in some days.
Greetz!
M.T.
|
|
|
|
 |
|
 |
thx a lot
is there any activity on this project ? ( Updates ... new Versions ? )
greets
|
|
|
|
 |
|
 |
Unfortunately, I don't have the time to update InsomniaServer anymore. However, if you would like to contribute to the project (which would be great!) I would upload it on Codeplex.
PS: The 1.0.3.0 version is now ready for download. Thanks again for informing me about the old data
Greetz!
M.T.
|
|
|
|
 |
|
 |
Hi Manuel,
Thanks for your work
I'm in the quest for a customizable HTTP server like this one, but I need to use it for a cloud project, which implies a huge amount of clients and requires a good performance on the server side.
On the other hand, it will only serve a few files, and the logic to handle each request is not too complex.
Do you think I can make it with InsomniaServer?
Thanks!
|
|
|
|
 |
|
 |
Hi Emmett,
Thank you for your comment
So your project will mainly be server-based and will have a high throughput? If so, then IS is maybe not optimal for your use case as it is intended to give "client machines" HTTP server capabilities. Consequently, the current implementation is not extremely optimized for performance (though I intend to create IS2 with the main goal performance once I find some time).
However, it is very easy to try IS - so just implement a little logic and profile the system. Some time ago I did this for a simple file server use case and was able to easily serve 100s of files per second (running the program on my notebook)
If you give IS a try, please let me know as I would love feedback on not only the performance but also the interfaces.
Greetz!
M.T.
|
|
|
|
 |
|
 |
Very useful to be able to build dynamically HTML pages inside .net applications.
|
|
|
|
 |
|
 |
Thank you
May I ask what your use case is/was? Do you have any feature suggestions (as I plan to do IS2 when I find the time)?
Greetz!
M.T.
|
|
|
|
 |
|
 |
How to actually set the server up ??
What do I need ?? The .net framework ??? The IIS ??? Apache ???
Where should I save all the files ??? For example, the SystemBrowser.
Is there a step-by-step kinda instruction I can get so to set up the server ???
Please advise.
Thanks & Regards....kb
|
|
|
|
 |
|
 |
Hi kbchiew,
InsomniaServer is not to be mistaken with a standalone server. It is a library that you can reference to set up an HTTP server, so the only thing you need is the .net framework and some development environment.
A - hopefully - helpful step-by-step guide can be found found accompanying the documentation that you can download from the article's page
Regards.
M.T.
|
|
|
|
 |
|
 |
Hi,
after a long time of not updating InsomniaServer now I am back and willing to do so
Are there any things missing?
How do You use IS in Your projects?
What can I improve?
I am planning to increase speed and site structure, so using IS will become easier. Furthermore some articles will be posted on CodeProject.
Last but not least I would like to port IS to Java to make it runnable on all major operating systems.
All the best to You. Stay tuned and have a great year 2008!
M.T.
|
|
|
|
 |
|
 |
Hi, maybe this is not a feature.. maybe a bug i think. when i try stop() and start() back. the server is not functioning. Need to exit and do start() again then it is functioning. Maybe you can have a look on that. thanks
|
|
|
|
 |
|
 |
Hi,
I'm sorry for my delayed answer. Lots of work to do ^^
Thank you for your request. I will try to have a look at this during the holidays.
For a long time I also planned to speed InsomniaServer up ...
Happy holidays
Greetz!
M.T.
|
|
|
|
 |
|
 |
Hi,
Firstly, thanks for a nice piece of software, I've only started looking into it but it seems to do exactly what I want.
Now, to my question:
I want to control what HTTP status code that is returned when I use for example a BinarySource. I discovered that it should be possible to use the BinarySource.GetInformation() to get the associated SourceInfo and then set that object to the status of my choice but that doesn't work out of the box.
I replaced the code in GetInformation() with the following:
if (sourceInfo == null)
{
sourceInfo = new SourceInfo();
}
return sourceInfo;
and that seems to do the trick.
Is this a bug or is there a better way to do this that I have missed?
Regards
/Anders
pettink
|
|
|
|
 |
|
 |
Hi,
as I wrote one post below, my pc is currently broken, but I will take a look at Your problem as soon as possible.
Sorry
BTW: I know the status code implementation is a little messed up
Best regards and thanks for Your interest in InsomniaServer
Manuel
-- modified at 11:31 Thursday 29th November, 2007
|
|
|
|
 |
|
 |
Hi, I'm back again.
In order to force the user to download a html,txt,asp... file, with Firefox is enough to specify Binary as ContentType, but Internet Explorer "ignores" it and open the file in his own window.
I solved this problem by adding a new ContentType, like the following.
new HttpContentTypeMIME(Type.Unknown, "application/x-unknown")
It works fine, and it's really easy to implement (just two rows of code in InsomniaServer DLL).
Hope to be useful. Thanks again for your job.
Byte.
Alberto
|
|
|
|
 |
|
 |
I answer to myself, sorry....
I know that I can use ContentType.FromMIME("application/x-unknown") instead of ContentType.FromType....
Bye
Alberto
|
|
|
|
 |
|
 |
Hi,
thanks for your suggestion
Firstly I have to apologize for not answering your request. Unfortunately my pc is defective, so I can not use it - and working in internet cafes is not so cool
Surely you can use ContentType.FromMime but I will test and add x-unknown as a normal type as soon as possible.
Best regards
Manuel
|
|
|
|
 |
|
 |
Hello,
An interesting and potentially very usful web server interface. I am wondering what your thoughts are on a Compact Framework port of this code. Any gotchas that you could think of?
Thanks,
Ken
|
|
|
|
 |
|
 |
I'm surprised about all the questions about what to do with InsomniaServer, so I hope to be helpful to Manuel in explaining his great job with a few examples:
Example 1:
I have a .NET application running with an SQL server (activity management (projects-Gant graphs) of a big customer with hundreds of employees), that is used as server manager (SQL maintenance, user accounts,...). This application does big and sophisticated job that, for my experience, I can do only with c# or VB.NET. Anyway all employees must sometimes insert data in the SQL server about their activities, through intranet (but even through Internet).
I have 3 solutions:
1) Build a "client" .NET application who is connected with the "server" one, install .NET framework and the application on every PC, and everytime that an upgrade is necessary, do again all the installation job...... (easy to program - hard to install)
2) Build a PHP o ASP.NET WEB application doing the job, re-writing a lot of code and installing a PHP or ASP server on the machine (license?) (medium-easy to install, hard to program). I'm forced to model the software on the PHP or ASP phylosophy (i.e. data protection, user levels).
3) Use InsomniaServer inside the "server" application. I can share all the code that does the hard work, but I don't need to install anything on other PCs, I can use any kind of phylosophy to model the software (easy to program - easy to install).
Example 2:
I have a .NET application running on a PC connected with a PLC for production tracking. The customer need a remote control to the production activity (n. of pieces, speed, alarms, efficiency), from the "boss" office. I can use InsomniaServer and build some html pages with graphs, data tables,ecc...
Alberto
|
|
|
|
 |
|
 |
Hey Alberto,
I do not want to make my girl-friend jealous, but I love you man
Great examples.
You said everything I wanted to.
Thank you for spending your time to help InsomniaServer (and me ).
Greetz
M.T.
|
|
|
|
 |
|
 |
Awesome examples and it sounds as though you might be considering the idea of creating/implementing your own update server as well...
Awesome stuff, awesome, awesome, awesome.
Distributed systems aren't going anywhere as long as there are intranets brothers and sisters.
I was unaware of that...
|
|
|
|
 |
|
 |
Hi,
This looks interesting but I share with the other commentator a lack of time to try everything that looks interesting but which, on first look, is not clear what it exactly it does and how it does it.
May I suggest you have a simple diagram showing a typical usage scenario ? You have two computers, one running InsomniaServer (great name, by the way) : show which computer InsomniaServer is running on. Another computer running your .NET application (or must it be on the same computer as InsomniaServer ?) : a third computer with someone running a web page that lets you control your .NET program running on ?
good luck, Bill
"The greater the social and cultural distances between people, the more magical the light that can spring from their contact." Milan Kundera in Testaments Trahis
|
|
|
|
 |
|
 |
Hi,
thanks for your suggestion. I added something like this.
Unfortunately I do not own Visio or any other commercial diagram creator, so I had to use a free one. Still I hope you are satisfied
Greetz
M.T.
|
|
|
|
 |