ルートディレクトリにWCFというフォルダを追加したMVCプロジェクトがあります。このフォルダー内に、というタイトルのWCFサービスを作成しましたCustomFunctions
。サービスを開始しようとすると、次のエラーが発生します。
エラー:メタデータを取得できません
http://localhost/Viper/WCF/CustomFunctions.svc
...メタデータに解決できない参照が含まれています:
追加の説明付き:
ServiceHostディレクティブでService属性値として提供されている、または構成要素system.serviceModel / serviceHostingEnvironment/serviceActivationsで提供されているタイプ'Viper.WCF.CustomFunctions'が見つかりませんでした。
私は昨日このエラーが発生し、インターネットで答えを探すのに時間を費やしました。これにより、Web.configとGlobal.asax.csに多くの変更を加えることになりました。昨日のある時点で動作を開始し、停止しました。しかし、私が今朝戻ってきたとき、それは再び機能していませんでした。その間、新しいものは何も追加されず、コードも変更されませんでした。
Web.configに以下を追加しました。
<system.serviceModel>
<services>
<service behaviorConfiguration="WCFBehavior" name="Viper.WCF.CustomFunctions">
<endpoint address="" binding="wsHttpBinding" contract="Viper.WCF.ICustomFunctions">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost/Viper/WCF/CustomFunctions/" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="WCFBehavior">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" httpGetUrl=""/>
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
</system.serviceModel>
そしてこれは私のGlobal.asax.cs
:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.svc/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new
{
controller = "Home",
action = "Index",
id = UrlParameter.Optional
}, // Parameter defaults
new { controller = "^(?!CustomFunctions).*" }
);
routes.Add(new ServiceRoute("CustomFunctions", new ServiceHostFactory(),
typeof(CustomFunctions)));
}
誰か助けてもらえますか?私はここですべてのアイデアがありません。