Трудно дать конкретный ответ и, честно говоря, я не думаю, что ответ на этот вопрос будет специфичным для Windows-Azure, а скорее - это просто вопрос наилучшей практики проектирования, не так ли?
Все сводится к тому, как вы будете поддерживать приложение и как вы будете управлять версиями, но в целом - код, который не является общим, не нужно развертывать в обеих ролях, так что либопереместите его обратно с помощью решения «parnet» (веб-приложение или служба) или оставьте в отдельной сборке, которую вы будете развертывать только с соответствующей ролью.
Будет существовать код, который используется совместно для веб-приложения и службыв общей сборке, которую вы будете развертывать в обеих ролях.
Таким образом, вы можете получить следующие проекты
- Веб-сайт
- Сборка, поддерживающая Интернетsite
- Служба веб-службы
- Сборка, поддерживающая веб-службу
- Совместная сборка между веб-сайтом и веб-службой
Надеюсьэто имеет смысл