Using Persevere with ASP.Net Web Site as Comet Server

20 views
Skip to first unread message

pnewhook

unread,
Nov 25, 2009, 1:07:21 PM11/25/09
to Persevere
Hello,

I want to use Persevere for my next project, but I'm an Asp.Net (C#)
developer. This means I'm using Windows Server and IIS. I'll have to
create a .Net library for querying Persevere, but I should have a
running start by learning from the CouchDB .Net libraries.

My question revolves around the server setup. Has anyone been able to
setup Jetty and IIS together? Specifically, I want to be able to use
Persevere as an Comet server so I'd have to be conscious of same
origin policy issues. I've looked at some of the Apache examples and
my Apache skills aren't up to snuff, so they're over my head.

Asp.Net is way behind other frameworks in terms of comet servers, so
I'd like to use Persevere.

Dean Landolt

unread,
Nov 25, 2009, 1:34:05 PM11/25/09
to persevere...@googlegroups.com
On Wed, Nov 25, 2009 at 1:07 PM, pnewhook <peter....@gmail.com> wrote:
Hello,

I want to use Persevere for my next project, but I'm an Asp.Net (C#)
developer. This means I'm using Windows Server and IIS. I'll have to
create a .Net library for querying Persevere, but I should have a
running start by learning from the CouchDB .Net libraries.
 

Sweet! I work for a (mostly) .NET shop where I'm slowly (and occasionally painfully) injecting js (and *nix) awesomeness. But a .NET library would be a godsend as a bridge between persvr and all our legacy code. If you have any plans on opensourcing it I'd be happy to help out with it.


My question revolves around the server setup. Has anyone been able to
setup Jetty and IIS together? Specifically, I want to be able to use
Persevere as an Comet server so I'd have to be conscious of same
origin policy issues. I've looked at some of the Apache examples and
my Apache skills aren't up to snuff, so they're over my head.

Asp.Net is way behind other frameworks in terms of comet servers, so
I'd like to use Persevere.


Good choice :)

The simple solution to the same origin problem may be to use stick a reverse proxy between the client and your two servers -- jetty and IIS. You can just switch on something in the url to determine where to forward what request.

pnewhook

unread,
Nov 25, 2009, 5:14:54 PM11/25/09
to Persevere
While on the topic of API, I think it makes sense to try to follow the
Server Side JS laid out in teh docs here http://docs.persvr.org/documentation/server-side-js
C# should be able to adopt JavaScript syntax for the most part.

I saw the thread on the PHP and Pearl clients and wanted to clarify
that I intend to stick to the API on the site.

On Nov 25, 1:34 pm, Dean Landolt <d...@deanlandolt.com> wrote:

Dean Landolt

unread,
Nov 25, 2009, 5:25:49 PM11/25/09
to persevere...@googlegroups.com
On Wed, Nov 25, 2009 at 5:14 PM, pnewhook <peter....@gmail.com> wrote:
While on the topic of API, I think it makes sense to try to follow the
Server Side JS laid out in teh docs here http://docs.persvr.org/documentation/server-side-js
C# should be able to adopt JavaScript syntax for the most part.

I saw the thread on the PHP and Pearl clients and wanted to clarify
that I intend to stick to the API on the site.

That seems like a good plan.

Jerod Venema

unread,
Dec 8, 2009, 4:14:59 PM12/8/09
to Persevere
Hey guys,

I know this thread is a little old, but the question of IIS/ASP.NET/C#
and comet is one I have to answer, because I helped build the
solution :)

Check out WebSync (http://www.frozenmountain.com/websync), a full
comet server built in .NET to work with IIS. I'm a little biased, but
I think it's pretty sweet.

On Nov 25, 5:25 pm, Dean Landolt <d...@deanlandolt.com> wrote:

pnewhook

unread,
Dec 9, 2009, 4:51:41 PM12/9/09
to Persevere
Hi, no problem reviving old threads. I'm always happy to get more
information.

I saw WebSync back when it was profiled on Ajaxian. It's very
impressive, and the demos are great.

My only concern is that the trial is only 21 days and after that
there's no 'lite' option. I was really only looking for a personal
thing to play around with as a proof of concept. After that it may be
something I could present at work (I know that if I say 'Hey, let's
try this comet thing.' without a prototype it'll never fly.)

Now, after doing my research, I know how challenging a scalable comet
server is to design, so I wouldn't expect you to give it away. When i
said 'Asp.Net is way behind other frameworks in terms of comet
servers' I was referring more open source comet servers. In other java
has jetty and glassfish, python has orbited and CometD, but ASP.Net
always lags behind (a side effect of always being spoonfed by
Microsoft). Alternatively there's a free verion of light streamer
(http://www.lightstreamer.com) but it's not as tightly coupled with
ASP.Net and I hear that it's mega expensive when you need to scale up.

btw, the prices quoted on your website, for the server, are those
annual subscription fees? and the on demand, what happens beyone the
max concurrent users?

pnewhook

unread,
Dec 9, 2009, 5:45:56 PM12/9/09
to Persevere

Jerod Venema

unread,
Dec 14, 2009, 5:48:26 PM12/14/09
to Persevere
Hey pnewhook! Sorry for not replying faster...I'm not actually
subscribed to this list, just keeping it bookmarked :)

I understand the "no lite version" thing. We're considering a user-
limited version for our next release, rather than a time-limited
version; that way, if you're tiny, no issues. Opinions on that idea?
In the mean time, you can use the On-Demand version with up to 10
users at no cost, so you can go that route. Upgrading from On-Demand
to Server is pretty painless (I actually tried that, just to see how
well it works). Basically, you can just port your proxy code for On-
Demand into the handlers for Server and be good to go.

Regarding the pricing...it's just a one-time fee. We don't include
major upgrades though - those are (currently) charged at 25%, and
we're aiming for releases of those maybe every 8-10 months. Minor
updates (bugfixes, maintenance releases) are included in the one-time
price. That said, if it works for you, and you don't need the
features, you don't have to upgrade, so there's no additional cost.

Regarding max concurrent users - in our "portal" you can configure an
email address to be notified when you get to a certain percentage of
your concurrent users (defaults to 80%). When it starts getting too
close (90%+), it'll notify us and you, and we'll figure out how to go
from there.

I've seen the other projects you've mentioned...nothing there is
nearly as scalable, adaptable or polished as WebSync. Don't get me
wrong - I'm sure they're fantastic for their particular scenarios! But
adding in hooks to do custom processing on the server, scaling to
30,000+ users, etc, is much beyond what's going on in those particular
projects.

Anyway, hope that helps answer a few questions for you! Happy coding!

On Dec 9, 4:51 pm, pnewhook <peter.newh...@gmail.com> wrote:
Reply all
Reply to author
Forward
0 new messages