2

私のasp.net Webアプリの「サービス」ディレクトリにWCFサービスがあります。の

/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" %>


私が間違っていること、または ASP.net のプリコンパイルを可能にするために WCF クライアント/サービスを変更できることはありますか?

4

2 に答える 2

1

事前にコンパイルされたサイトについて話していると仮定して、このブログ投稿を見てください。基本的に、サイトは更新可能でなければなりません。

于 2011-04-08T18:39:32.783 に答える
0

私の同僚の 1 人がこれを見つけて、うまくいきました。これは最善の解決策ではありませんが、機能します。

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

編集:

さらに良い解決策...配置プロジェクトを使用していますが、特に指定しない限り、プロジェクトは仮想ディレクトリパスとしてプロジェクト名を指定しているようです。展開プロジェクト ファイルを開き、以下のノードを適切な仮想ディレクトリ名に更新しました。

<SourceWebPhysicalPath>..\MyVirtualDirectory</SourceWebPhysicalPath>
于 2011-04-08T20:02:27.650 に答える