Microsoft.HomeServer.Common.Client for use in a Web Service RRS feed

  • Question

  • I am looking for a way to write a web service to enable an client side application to interact with some portions of the Home Server from the outside (IE Remote) without using the website. 

    Is there a set of web services api's already available?  If they are where can I get documentation on them? 

    I noted in the remote folder there are a series of dll files.  I added them into a web service project and I got a ton of classes available.  The big one I am looking at using at this point is the Authenticator class which is in Microsoft.HomeServer.Common.Client namespace.  Is there documentation on this and the other name spaces in the remote bin folder?   Is the best way to understand these api's to read through aspx files in remote?   Also (on another note) for the competition that you guys are having (http://www.microsoft.com/windows/products/winfamily/windowshomeserver/partners/challenge.mspx), is it allowed to use these api's or am I restricted to the (limited) functionality of the api's available via HomeServer.dll?  

    Thank you for your assistance!

    Alexandros "Alesei" Nipirakis

    Sunday, June 24, 2007 7:27 PM

All replies

  • Wondering if anyone had a chance to look at this yet, or is it a dumb question?


    Tuesday, June 26, 2007 2:57 PM
  • I don't know whether it's "allowed" to use functionality that's not documented in the SDK.

    In my Wake-On-Lan add-in I do use functionality provided by WHSCommon.dll though. That way I can react on events when clients are (dis)connected and/or added/removed. It also provides ways of enumerating all clients without looking through the registry yourself (the PartnerInfo class will look through the registry for you, so it does the same thing essentially).

    Tuesday, June 26, 2007 3:19 PM
  • Marcel, if you use WHS features that aren't documented in the SDK, you run the risk of having your add-in break when the product is updated for the next version. So the "official" answer is probably going to be that you are not allowed to use such features.

    The particular undocumented API call that you're describing doesn't sound very dangerous to me, though; as you no doubt realize, WHS needs to be able to do this as well.
    Tuesday, June 26, 2007 4:44 PM
  • I know I run the risk of possibly "breaking" when something changes in the future. But as you pointed out, since WHS needs to be able to do this stuff as well I though it was a safe bet.

    Besides, my Wake-On-Lan add-in was a personal project that I decided to share with the community. The original intention was to learn the basics of programming for WHS, which I did before the original SDK was released. So I went looking through files to see if they could be used from .NET applications and found some interesting stuff in there.

    (At the time it wasn't an add-in yet, but a webservice that could "talk to WHS". I then created a web frontend which used the webservice to perform its task (WakeOnLan)).


    For my µTorrent add-in I'm not using any undocumented features! In fact, I hardly use any at all, just the basics to get an add-in working within WHS.

    This add-in will not break because of changes to WHS, unless the SDK is changed .

    Tuesday, June 26, 2007 5:05 PM
  • Thanks for the response.   Can someone from Microsoft tell me whether or not the use of undocumented api's (in particular Microsoft.HomeServer.Common) is allowed for the Code2Fame contest? 

    Marcel, can I assume that you had no issues gleaning the information neccesary to use the undocumented api's by reading the source files for the Remote website?  Or did you just use Visual Studio and guess at what the correct input parameters would be (trial and error)? 


    Wednesday, June 27, 2007 1:22 PM
  • More likely he loaded it up in something like Lutz Roeder's .Net Reflector.
    Wednesday, June 27, 2007 2:23 PM
  • Thanks for the link, thats a pretty nifty little tool Smile

    Wednesday, June 27, 2007 3:26 PM
  • You're correct, I used .NET Reflector to look around some of the dll files. And it's a nifty little tool indead .
    Wednesday, June 27, 2007 5:59 PM