I don’t know if there’s any underlying problem, but to solve the timeout issue you can specify the request timeout (in seconds) in the web.config, like this:
<httpRuntime executionTimeout="300" />
For context, here’s a complete web.config with just this setting:
<configuration>
<system.web>
<httpRuntime executionTimeout="300" />
</system.web>
</configuration>