WCF и ASP.Net прекомпиляция - PullRequest
2 голосов
/ 08 апреля 2011

Служба WCF находится в каталоге «Службы» в моем веб-приложении asp.net.В

/Services/MyService.svc
/Services/MyService.svc.cs

Все работает при копировании моего исходного кода в виртуальный каталог.Мы действительно надеялись прекомпилировать код по разным причинам, но когда мы делаем сервисные перерывы.Я предполагаю, потому что теперь файл «.cs» предварительно скомпилирован, и в каталоге «/ Services» больше нет «MyService.svc.cs».


Ошибка

Ошибка: невозможно получить метаданные из http://myurl.com/services/MyService.svc


Моя разметка .svc является стандартной:

<%@ ServiceHost Language="C#" Debug="true" Service="MyNamespace.MyService" CodeBehind="MyNamespace.MyService.svc.cs" %>


Есть ли что-то, что я делаю неправильно, или что я могу изменить на клиенте / сервисе WCF, чтобы разрешить ASP.net precomilation?

Ответы [ 2 ]

1 голос
/ 08 апреля 2011

Если вы говорите о предварительно скомпилированном сайте, взгляните на это сообщение в блоге .В основном сайт должен быть обновляемым.

0 голосов
/ 09 апреля 2011

Один из моих коллег нашел это, и это работает. Это не лучшее решение, но оно работает.

http://social.msdn.microsoft.com/forums/en-US/wcf/thread/8c897f8e-2143-450e-a9f4-97d1f8702da7/

РЕДАКТИРОВАТЬ:

Еще лучшее решение ... Мы используем проект развертывания, и кажется, что проект указывает имя проекта в качестве пути к виртуальному каталогу, если не указано иное. Мы открыли наш файл проекта развертывания и обновили узел ниже, указав соответствующее имя виртуального каталога:

<SourceWebPhysicalPath>..\MyVirtualDirectory</SourceWebPhysicalPath>
...