﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Ayende @ Rahien</title><link>http://ayende.com</link><description>Ayende @ Rahien</description><copyright>Copyright (C) Ayende Rahien  2004 - 2021 (c) 2026</copyright><ttl>60</ttl><item><title>Fitzchak Yitzchaki commented on Fix it in the code, not in the documentation</title><description>@James,  
It's actually very simple. You have two options here:

1. Explicitly specify the port that you want. If you do so, that's the port that Raven.Server is going to use. If it can't use it, an exception will be thrown.
2. Use the star value (`"*"`) which will let Raven.Server to automatically choose a port that is free to use. In this case, we'll start looking for port number 8080 and increase the port number until a free port is found. This option will give you more flexibility in development environments. 

You can set this setting in the `Raven.Server.exe.config` file:

    &lt;add key="Raven/Port" value="*"/&gt;
</description><link>http://ayende.com/12289/fix-it-in-the-code-not-in-the-documentation#comment11</link><guid>http://ayende.com/12289/fix-it-in-the-code-not-in-the-documentation#comment11</guid><pubDate>Wed, 08 Jun 2011 20:36:02 GMT</pubDate></item><item><title>James commented on Fix it in the code, not in the documentation</title><description>Ugh. That's complicated.

Now I have to remember all these things:

1. It will swap ports if 8080 is already in use
2. BUT - this feature only kicks in if explicitly set in config
3. BUT! The default config has this explicitly set!
4. Also, I have to remember to take it out for production config!

And to top it off, it's not in documentation, so to recall these 4 points I have to wade through code!

Too much magic. Why don't you just have a port variable in the config. Let the user choose; don't assume you know what they want.
</description><link>http://ayende.com/12289/fix-it-in-the-code-not-in-the-documentation#comment10</link><guid>http://ayende.com/12289/fix-it-in-the-code-not-in-the-documentation#comment10</guid><pubDate>Wed, 08 Jun 2011 08:55:18 GMT</pubDate></item><item><title>Fitzchak Yitzchaki commented on Fix it in the code, not in the documentation</title><description>@Robert @Matthew,  
Take a look [here](http://blog.hibernatingrhinos.com/5/ravendb-in-practice-part-1-an-introduction-to-ravendb), specifically in [this](http://blog.hibernatingrhinos.com/images/blogs_hibernatingrhinos_com/Windows-Live-Writer/An-introduction-to_8C2C/clip_image002_2.png) picture. As you can see, the console application specifies the `Server Url` and  `Port` values.</description><link>http://ayende.com/12289/fix-it-in-the-code-not-in-the-documentation#comment9</link><guid>http://ayende.com/12289/fix-it-in-the-code-not-in-the-documentation#comment9</guid><pubDate>Mon, 06 Jun 2011 18:07:01 GMT</pubDate></item><item><title>Robert commented on Fix it in the code, not in the documentation</title><description>I agree with Matthew; how is the client made aware of the auto-chosen port?</description><link>http://ayende.com/12289/fix-it-in-the-code-not-in-the-documentation#comment8</link><guid>http://ayende.com/12289/fix-it-in-the-code-not-in-the-documentation#comment8</guid><pubDate>Mon, 06 Jun 2011 12:50:20 GMT</pubDate></item><item><title>Ayende Rahien commented on Fix it in the code, not in the documentation</title><description>Rafal,
That assumes:
a) That your client has VM software and is willing to run it.
b) That scares people off because they assume that your software must be very hard to configure.
c) If you are using a Windows VM, you have licensing issues.
</description><link>http://ayende.com/12289/fix-it-in-the-code-not-in-the-documentation#comment7</link><guid>http://ayende.com/12289/fix-it-in-the-code-not-in-the-documentation#comment7</guid><pubDate>Mon, 06 Jun 2011 11:52:35 GMT</pubDate></item><item><title>Ayende Rahien commented on Fix it in the code, not in the documentation</title><description>JB,
You mean like HTTP Alternate when you are writing HTTP server?
That sounds like an excellent choice to me, the reason that we choose that port was to allow easier support for proxies and firewalls.</description><link>http://ayende.com/12289/fix-it-in-the-code-not-in-the-documentation#comment6</link><guid>http://ayende.com/12289/fix-it-in-the-code-not-in-the-documentation#comment6</guid><pubDate>Mon, 06 Jun 2011 11:51:14 GMT</pubDate></item><item><title>Tommaso Caldarola commented on Fix it in the code, not in the documentation</title><description>A bad choice!</description><link>http://ayende.com/12289/fix-it-in-the-code-not-in-the-documentation#comment5</link><guid>http://ayende.com/12289/fix-it-in-the-code-not-in-the-documentation#comment5</guid><pubDate>Mon, 06 Jun 2011 09:58:45 GMT</pubDate></item><item><title>Rafal commented on Fix it in the code, not in the documentation</title><description>IMHO one of the best things to do if you want to make initial user experience as painless as possible is to provide a virtual machine appliance. Without it I wouldn't even try to set up some 'exotic' products like SOLR, Kannel, ejabberd and many other - because of the pain of going manually through the installation process.
You may, however, have some problems with handing out Windows VMs...
</description><link>http://ayende.com/12289/fix-it-in-the-code-not-in-the-documentation#comment4</link><guid>http://ayende.com/12289/fix-it-in-the-code-not-in-the-documentation#comment4</guid><pubDate>Mon, 06 Jun 2011 07:39:41 GMT</pubDate></item><item><title>stephane commented on Fix it in the code, not in the documentation</title><description>interesting. Like most of the truths, it seems obvious once you hear it. 
That doesn't applies only to developer tools like RavenDB.  
We are building a cms for the publishing industry. If you can setup a demo in a finger snap for a client and never meet this kind of configuration conflict, that can only help the decision process :).</description><link>http://ayende.com/12289/fix-it-in-the-code-not-in-the-documentation#comment3</link><guid>http://ayende.com/12289/fix-it-in-the-code-not-in-the-documentation#comment3</guid><pubDate>Mon, 06 Jun 2011 06:31:54 GMT</pubDate></item><item><title>JB commented on Fix it in the code, not in the documentation</title><description>Shouldnt you fix it so it doesn't clash with a Well Known Port?

http://www.iana.org/assignments/port-numbers

Either register a port with IANA (still doesn't fix the issue if someone else is not playing nice) or use the private range &gt;= 49152.</description><link>http://ayende.com/12289/fix-it-in-the-code-not-in-the-documentation#comment2</link><guid>http://ayende.com/12289/fix-it-in-the-code-not-in-the-documentation#comment2</guid><pubDate>Sun, 05 Jun 2011 22:02:01 GMT</pubDate></item><item><title>Matthew commented on Fix it in the code, not in the documentation</title><description>Unless the client can somehow detect which port the server is running on, I'm not convinced this is actually a success maker. You've just moved the problem to first run of the client failing mysteriously. </description><link>http://ayende.com/12289/fix-it-in-the-code-not-in-the-documentation#comment1</link><guid>http://ayende.com/12289/fix-it-in-the-code-not-in-the-documentation#comment1</guid><pubDate>Sun, 05 Jun 2011 13:58:19 GMT</pubDate></item></channel></rss>