I know a number of people were having problems with getting MPWebServices to work under Windows Server 2008 R2. Specifically receiving the following error: "MPWebServices: Exception raised while trying to start webserver. Could not load file or assembly 'MiniWebServer, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified."
Here's what I did to get it working, I did notice a post by Gemx about stability issues (https://forum.team-mediaportal.com/mpwebservices-463/solving-webserver-crashes-81804/), I only just got this working on R2 so time will tell?
Step 1:
Open the web.config file for the MPWebServices (C:\Program Files (x86)\Team MediaPortal\MediaPortal TV Server\Plugins\MPWebServices\htdocs\Web.config)
Step 2:
Scroll to the very bottom and you'll see the configuration\runtime node. Comment out that entire node.
<!--
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/></dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/></dependentAssembly>
</assemblyBinding>
</runtime>
-->
</configuration>
Specifically, we need to turn off the assembly bindings. I think the assembly resolution problem is caused by multiple app domains in the process and each domain has different bindings. AppDomain 1 would have default bindings and the Web App AppDomain has System.Web.Extensions redirected. This is confusing the assembly resolver - its not even scanning the current path for this assembly as far as I can see!
Step 3:
At this point, restart your TvService windows service. Open a browser and browse to your designated WebService URL (locahost:8080). You may get a nice yellow screen of death about NT Authority\System not having access to the ASP.NET Temporary Files directory.
Step 4: (Optional dependent on current system config)
I had to manually create this folder, it didn't exist: C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files
Set the SYSTEM account to have at least Modify Access (I used full control). Security minded people will change the TvService account to a service account and secure that way.
Step 5:
Restart the TvService again.
At this point everything should start up OR, if you're running RC6 like I am, some of the assemblies will be out of date in the htdocs\bin directory.
Step 6: (Not required depending on Mediaportal version)
Take the following assemblies from the root MediaPortal TV Server folder: C:\Program Files (x86)\Team MediaPortal\MediaPortal TV Server
- Gentle.Common.dll
- Gentle.Framework.dll
- Gentle.Provider.MySQL.dll
- Gentle.Provider.SQLServer.dll
- MySql.Data.dll
- TvControl.dll
- TVDatabase.dll
- TvLibrary.Interfaces.dll
Replace the assemblies in C:\Program Files (x86)\Team MediaPortal\MediaPortal TV Server\Plugins\MPWebServices\htdocs\bin
Step 7:
Enjoy MPWebServices again!
Hope that helps the few others who had this problem. I finally have my broadcasting server up and running on my 2008R2 box so I'm very happy.
Cheers,
Salty.
Here's what I did to get it working, I did notice a post by Gemx about stability issues (https://forum.team-mediaportal.com/mpwebservices-463/solving-webserver-crashes-81804/), I only just got this working on R2 so time will tell?
Step 1:
Open the web.config file for the MPWebServices (C:\Program Files (x86)\Team MediaPortal\MediaPortal TV Server\Plugins\MPWebServices\htdocs\Web.config)
Step 2:
Scroll to the very bottom and you'll see the configuration\runtime node. Comment out that entire node.
<!--
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/></dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/></dependentAssembly>
</assemblyBinding>
</runtime>
-->
</configuration>
Specifically, we need to turn off the assembly bindings. I think the assembly resolution problem is caused by multiple app domains in the process and each domain has different bindings. AppDomain 1 would have default bindings and the Web App AppDomain has System.Web.Extensions redirected. This is confusing the assembly resolver - its not even scanning the current path for this assembly as far as I can see!
Step 3:
At this point, restart your TvService windows service. Open a browser and browse to your designated WebService URL (locahost:8080). You may get a nice yellow screen of death about NT Authority\System not having access to the ASP.NET Temporary Files directory.
Step 4: (Optional dependent on current system config)
I had to manually create this folder, it didn't exist: C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files
Set the SYSTEM account to have at least Modify Access (I used full control). Security minded people will change the TvService account to a service account and secure that way.
Step 5:
Restart the TvService again.
At this point everything should start up OR, if you're running RC6 like I am, some of the assemblies will be out of date in the htdocs\bin directory.
Step 6: (Not required depending on Mediaportal version)
Take the following assemblies from the root MediaPortal TV Server folder: C:\Program Files (x86)\Team MediaPortal\MediaPortal TV Server
- Gentle.Common.dll
- Gentle.Framework.dll
- Gentle.Provider.MySQL.dll
- Gentle.Provider.SQLServer.dll
- MySql.Data.dll
- TvControl.dll
- TVDatabase.dll
- TvLibrary.Interfaces.dll
Replace the assemblies in C:\Program Files (x86)\Team MediaPortal\MediaPortal TV Server\Plugins\MPWebServices\htdocs\bin
Step 7:
Enjoy MPWebServices again!
Hope that helps the few others who had this problem. I finally have my broadcasting server up and running on my 2008R2 box so I'm very happy.
Cheers,
Salty.