Каковы ограничения, если таковые имеются, при размещении службы WCF на лазуре

Я написал службу WCF, и я хочу разместить ее в лазури. Когда я написал эту услугу, у меня не было в голове, что я собираюсь принять ее на лазури.

Каждое приложение, даже служба WCF, использует ресурсы платформы. Когда я говорю ресурс, я имею в виду что угодно:

    <�Литий> память </литий> <�Литий> процессор </литий>
  1. Ручка файла
  2. API-интерфейсы низкого уровня (pinvoke)
  3. Объекты Com.
  4. розетки </литий>
  5. .Net BCL API (да, я даже рассматриваю это как ресурс)
  6. Базы данных
  7. etc..etc .. (все, что не является кодом, который я написал)

Гипотетический пример: если служба, например, регистрируется на диске «H», она может работать на моем компьютере (поскольку у меня есть диск «H»), но, вероятно, он не будет работать в облаке. То же самое для Drive 'C' или любой буквы диска, я даже не знаю, как файловая система просматривается с точки зрения обслуживания. Это всего лишь один пример.

Другой гипотетический пример: я могу вырвать из службы некоторый метод winapi в nt.dll, он будет работать на моем компьютере. Но я думаю, что это не сработает на облаке.

My question is : How can I know what kind of resources can be used on the cloud and how resources are used when writing to the cloud? What are the "rules" to follow? Also Is there any "Smart" Compiler that can ensure that my service is compatible with the cloud platform

Я буду рад получить подробное объяснение или ссылку на эту книгу. Я попытался найти какую-то информацию по googling, но не нашел ничего, что бы покрывало ее достаточно хорошо.

Как только я получу детали, я смогу сделать незаметный перенос на мою службу (если вообще потребуется).

1
nl ja de

2 ответы

Ограничения зависят от того, как вы размещаете свою службу WCF:

  1. Веб-сайты Windows Azure: это модель общедоступного хостинга. Если вы разворачиваете свою службу WCF на веб-сайте, вам необходимо принять это во внимание. Это означает, что у вас будет ограниченный доступ к диску, ограниченный доступ к API-интерфейсам низкого уровня, нет возможности использовать собственные библиотеки, ...
  2. Windows Azure Web/Working Roles (PAAS): ваше приложение будет развернуто в виртуальной машине Windows Server 2008/2012. Поэтому, если вы хотите, вы можете использовать все функциональные возможности, которые вы будете использовать на обычной виртуальной машине (все «ресурсы», которые вы упомянули в своем вопросе). Единственное, о чем следует помнить, это то, что эти виртуальные машины не являются постоянными (что означает, что все данные, которые вы храните на них, могут потеряться) и что балансировщик нагрузки не является липким (может быть проблемой, если вы используете сеансы WCF). Тот факт, что эти машины не являются постоянными, также означает, что вы не можете установить сервер баз данных на них надежно, но вы можете использовать внешнюю базу данных, такую ​​как SQL Azure. Преимущество этого решения в том, что машины поддерживаются контроллером Fabric, поэтому вы нажимаете свой пакет услуг (приложение) на Windows Azure, а остальная часть развертывания выполняется для вас.
  3. Виртуальные машины Windows Azure (IAAS): вы получаете машину, как в роли Web/Worker, которая позволяет вам использовать все «ресурсы», но с еще большим контролем. Машины устойчивы, то есть все, что вы храните на них, сохраняется в хранилище Blob (если машина выходит из строя, вы не теряете данные, хранящиеся на диске ОС и дисках данных). Это ближайшая альтернатива локальному развертыванию, но это также добавляет дополнительную работу. Вам будет необходимо управлять развертываниями на всех серверах, обрабатывать обновления для системы безопасности ... Но в этом случае вы можете установить свою собственную базу данных на машине. Имейте в виду, что и здесь балансировка нагрузки не является липкой, что может повлиять на функции, такие как сеанс WCF.
4
добавлено
Да, и с помощью ASP.NET вы можете использовать Universal Providers для этого.
добавлено автор Sandrino Di Mattia, источник
Думаю, я смогу преодолеть проблему липкого сеанса, написав свой собственный механизм сеанса и сохранив его в лазурной SQL DB правильно?
добавлено автор Yossi, источник

Вы можете следовать приведенному ниже руководству по использованию WCF в Windows Azure.

  1. Deciding whether to run a WCF service in a web or worker role

    WCF services can be hosted in either a web role or a worker role. Which type of role you decide to use depends on the type of WCF service you are writing

  2. Running a WCF service in a web role

    A WCF service that is set up for deployment to a Windows Azure web role uses the same setup and configuration as a WCF service hosted in IIS on on-premise servers.

  3. Understanding WCF Security in Windows Azure

    The security concerns for hosting a WCF service on Windows Azure is the same as those you encounter hosting the service in on-premise servers

  4. Troubleshooting WCF in Windows Azure

    You can troubleshoot performance issues for WCF services in Windows Azure using the same techniques that you use with WCF services hosted on-premise servers

Для получения дополнительной информации проверьте Руководство по использованию WCF в Windows Azure Here </сильный>

Надеюсь, это поможет вам.

2
добавлено
DotNetRuChat
DotNetRuChat
2 992 участник(ов)

Чат русскоязычного .NET сообщества http://dotnet.ru/ Вам могут быть интересны: @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @xamarin_russia, @microsoftstackjobs, @uwp_ru Флуд в @dotnettalks

Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

pro.net
pro.net
710 участник(ов)

Обсуждение .NET Framework и всего, что с ним связано. Правила: не флудить не по теме, уважать ваших коллег и никакой рекламы (объявления о вакансиях можно согласовать с @AlexFails). Флудилка: @dotnettalks Участник @proDOT

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot

.NET Talks: Force Push Masters
.NET Talks: Force Push Masters
490 участник(ов)

Свободный чат .NET разработчиков. Правила: t.me/dotnettalks/56823 Вам могут быть интересны: @dotnetruchat, @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @dotnetgroup, @xamarin_russia, @microsoftstackjobs, @uwp_ru http://combot.org/chat/-1001128250813

.NET Chat Убежище
.NET Chat Убежище
246 участник(ов)

Чат .NET разработчиков под эгидой MSK/SPB .NET Community Group Вам могут быть интересны: @fsharp_chat, @dotnetruchat, @cilchat, @xamarin_russia, @microsoftstackjobs, @dotnetgroup Флуд в @dotnettalks

.NET CIL Chat
.NET CIL Chat
54 участник(ов)

.NET CIL (aka IL aka MSIL)