Kiliman's Korner

.NET, The Universe and Everything

My Links

Blog Stats

Archives

Post Categories

Links

CassiniEx is not dead, just dormant

Hi, just wanted to drop a quick note that CassiniEx has not died. I've been extremely busy with both work and family commitments, so I haven't had a chance to really work on CassiniEx.

It's hard to believe it's been over 10 months since the last version of CassiniEx. That's an eternity when it comes to software.

Thanks to all those that have written in with positive feedback and bug reports.

Obviously the three main features that people have been waiting (and waiting...) for are Windows Service, Integrated Authentication, and Management Console. They are still work in progress and have taken longer than expected (especially with my limited “free” time).

Anyway, thanks for all your patience.

Kiliman

 

posted on Monday, February 14, 2005 10:22 AM

Feedback

# re: CassiniEx is not dead, just dormant 3/3/2005 11:32 AM Dan

I have ported the web server to a service if you are interested. I also added a recycle method to the server when in the EXE mode.

Dan

# re: CassiniEx is not dead, just dormant 3/7/2005 12:35 PM Dino

Has anyone built HTTP.SYS integration into Cassini or CassiniEx, using .NET v1.1 ?

# re: CassiniEx is not dead, just dormant 3/8/2005 12:13 PM Kiliman

Not that I know of. One of the changes I've been making is to change the CassiniEx HttpConnection/HttpRequest classes to model the HttpListener/HttpListenerContext classes in .NET 2.0. That way it would be simple to migrate to 2.0.

However, HTTP.SYS integration would require XP SP2 and probably a bunch of P/Invoke code that I'd rather not write.

One of the reasons for writing CassiniEx was to see how easy (difficult) it would be to write a managed Web Server in C#. And using Cassini as a starting point, it wasn't too hard.

However, considering that IIS 5.x on XP doesn't use HTTP.SYS, probably means it would be an order of magnitude harder.

But if anyone does manage to do it, please let me know.

# re: CassiniEx is not dead, just dormant 4/24/2005 5:28 PM David

Dan,

Can you post your your ported version, as a service somewhere (until the new and improved version is available)?

Thanks,
David

# re: CassiniEx is not dead, just dormant 5/4/2005 2:59 AM Chert

Hi,
I e-mailed you before noticed that the BLOG had been updated.

I am very interested in getting a service based version of CassiniEX - as for some stupid reason IIS no longer is willing to run my application. (And I'm running multiple hosts off the machine anyway...) The reason I'm thinking of moving back to IIS is that it appears that the CassiniEX log files don't show the referring page, so all of the analysis packages that I can use to look at web traffic all show me nothing for things like: Keywords, spiders, links from this site.. Or links from other sites...

If you would be interested in my working with you on some of the code, I'd be willing to do so - I have 21 years experience as a software developer - the last 9 as a Technical Leader at Intuit. And hey, if you don't like the changes you can dump them right? :-)

Thank you,
You can contact me through my website http://www.traderhut.com (contact page)

# re: CassiniEx is not dead, just dormant 5/12/2005 3:25 PM Frank

Large posts do not work over the internet. This was an issue that was resolved in Cassini but still it only works on the local machine or local network.

# re: CassiniEx is not dead, just dormant 5/13/2005 3:36 AM Chert

I'm not sure what you mean by large posts.. I did a file upload of 68MB in a post and it worked fine.. so what is LARGE?

By the way, I'm getting 1,000 visitors per day running CassiniEX and it is holding up just fine.. However, if I ever lose power, I'll have to go login again because it isn't running as a service! :-(

-Chert

PS: You can contact me through my website: http://www.traderhut.com

# re: CassiniEx is not dead, just dormant 5/13/2005 3:38 AM Chert

I guess I should add that that was an internet transfer, however, It did fail a 160MB request across the internet.. (I have FIOS, Fiber at 15Mbps so it was a fast transfer, if that is the issue..) Well, 5-10 minutes...

-Chert

# re: CassiniEx is not dead, just dormant 5/13/2005 10:56 AM Frank

I have problems posting ASP.NET forms. Most of the time I have to turn off ViewStates when I can to get around it.

# re: CassiniEx is not dead, just dormant 6/18/2005 5:04 PM Russ Green

Can someone please post a link to the service version of CasssiniEx?

Also, has anyone had success with sub-applications.

# re: CassiniEx is not dead, just dormant 6/19/2005 4:53 AM Russ Green

Hi,

I'm trying to use CassiniEx to test my applications locally but I'm having a bit of trouble with virtual directories.

On my website (externally hosted version) I have most of my ASP.NET pages (code inline) just in various folders under 'wwwroot/' These pages all work well on CassiniEx.

However, I have an area of my site that is pasword protected 'wwwroot/subfolder/users' On my external server this is setup as a virtual folder and the web.config file that lives in the ../users folder looks like this:

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<system.web>

<authentication mode="Forms">
<forms name="TMAUTH" loginUrl="login.aspx" />
</authentication>

<authorization>
<deny users="?" />
</authorization>

</system.web>
</configuration>

This works well and I need to recreate this functionality locally using CassiniEx.

I've got 2 webapps configured in CassiniEx. One to serve up my site and one to deal with the users folder. The main site works just fine but when I click the link to go the the user area of my site, expecting to see the login page, I get an error massage in the first webapp:


Server Error in '/russgreen.com' Application.
--------------------------------------------------------------------------------

Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.

Source Error:

Line 5: <system.web>
Line 6:
Line 7: <authentication mode="Forms">
Line 8: <forms name="TMAUTH" loginUrl="login.aspx" />
Line 9: </authentication>





This is my CassiniEx webconfig file:
<WebSite
Name = "russgreen.com"
Enabled = "true"
Bindings = "localhost:80"
VirtualPath = "/"
PhysicalPath = "D:\Dev Projects\Web Design Work\russgreen.com"
>

<PathMap
Name = "russgreen"
PhysicalPath="D:\Dev Projects\Web Design Work\russgreen.com"
/>

<WebApp
Name = "MySite"
Enabled = "true"
VirtualPath = "/russgreen.com"
PhysicalPath = "%russgreen%"
ApplicationHost = "ASP.NET"
/>

<WebApp
Name = "users"
Enabled = "true"
VirtualPath = "/russgreen.com/titlesmanager/users"
PhysicalPath = "%russgreen%\titlesmanager\users"
ApplicationHost = "ASP.NET"
/>

</WebSite>


Have I got something wrong with the configuration or is CassiniEx just not capable of working like this?

TIA

Russ Green

# re: CassiniEx is not dead, just dormant 6/21/2005 3:41 PM Frank

PhysicalPath = "D:\Dev Projects\Web Design Work\russgreen.com"

Does not look like a physical path

# re: CassiniEx is not dead, just dormant 7/29/2005 3:08 AM Grayson Peddie

Hi. Has there been a work in CassiniEx? I would like to use a CassiniEx Console Management.

Thanks.

# re: CassiniEx is not dead, just dormant 7/31/2005 1:40 AM David

Help---

Anyone get this running successfully in xp sp2?

I have tried and tried had it running on a 2000 box, but cant get it running on now.

David

# re: CassiniEx is not dead, just dormant 11/30/2005 12:45 PM Gary

With .NET 2.0 out, do you have plans to move to 2.0 code and continue extending CassiniEX?

# re: CassiniEx is not dead, just dormant 1/29/2006 7:23 PM mbergal

There is a big problem with handling POST requests:

in HttpRequest.cs:

public void Process()
....


if (_httpVerbName == "POST" && _contentLength > 0 && _preloadedEntityBodyLength < _contentLength)
{
_conn.Write100Continue();
}

should be:

if (_httpVerbName == "POST" && _contentLength > 0 && _preloadedEntityBodyLength < _contentLength)
{
bool saved = _conn.KeepAlive;
_conn.KeepAlive = true;
_conn.Write100Continue();
_conn.KeepAlive = saved;
}

# re: CassiniEx is not dead, just dormant 1/30/2006 10:21 AM Kiliman

Thanks for the info, but I'm not sure why this is a bug. I looked at the code and the only reason it disables Keep Alive is if there was an exception thrown. At that point, CassiniEx can not guarantee that the connection is valid and should close it.

Why would you want to keep the connection open if the client caused an exception?

# re: CassiniEx is not dead, just dormant 2/7/2006 9:41 AM Nelson Alves

Hei, what about version the version 2 for the dot net framework 2.0

# re: CassiniEx is not dead, just dormant 2/22/2006 12:30 AM Mukunth

Cool stuff. Here's my "wishlist" for the next version:
1. Support for SSL
2. Support for "classic" ASP pages

Keep up the good work...

# re: CassiniEx is not dead, just dormant 3/22/2006 6:30 PM Vlad

Service-based Cassini for .NET 2.0 and 1.1 is here:
http://UltiDev.com/Products/Cassini/

# re: CassiniEx is not dead, just dormant 5/14/2006 6:28 PM mbergal

2Kiliman

May be it is OK, I don't remember in what situation I had a problem.

And here is another interesting one, I believe keep-alive support doesn't correctly work with Safari 2.0, turning keep-alive off doesn't work either because of search-and-replace gone awry in makeResponseHeaders

if (! _keepAlive)
{
sb.Append("HttpConnection: Close\r\n");
}

Should be:

sb.Append("Connection: Close\r\n");




Comments have been disabled. Please use Contact Form to reach me. Thanks!