今日、私はWCFサービスから.svcファイルを削除して、オンラインで探し始めたと決めました。ここでWCFサービスから.svcを削除するとエンドポイントが見つかりません
は、私が何をしたかのステップのプロセスバイステップです:
ステップ1:私は、Global.asaxの
void Application_Start(object sender, EventArgs e)
{
RouteTable.Routes.Add(new ServiceRoute("Authorization", new WebServiceHostFactory(), typeof(Authenticator)));
RouteTable.Routes.Add(new ServiceRoute("Miscellaneous", new WebServiceHostFactory(), typeof(Misc)));
}
注追加:認証およびその他の
私のインターフェイスを実装しています手順2:有効asp.net互換性
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
ステップ3:私はそれぞれのインターフェイスの実装に[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
を追加しました。
ステップ4:私のインターフェイスのすべてのメソッドに[WebInvoke(BodyStyle = WebMessageBodyStyle.WrappedRequest)]
を追加する必要がありました。私はこれが何をしているのか分からないが、それがなければエラーになっていた。
これは "機能しますが、root/Authorization(私の最初のサービスの名前であるAuthorization)に移動すると、エンドポイントが見つからないことがわかります。
私のエンドポイントは、次のような私のweb.configファイルで指定されています
<service name="AuthenticatorService.Authenticator">
<endpoint address="auth" binding="basicHttpBinding" name="AuthEndpoint"
contract="AuthInterface.IAuthenticator" />
<endpoint address="mex" binding="mexHttpBinding" name="MetadataEndpoint"
contract="IMetadataExchange" />
</service>
私はWCFに非常に新しいですので、それはおそらくいくつかの愚かな間違いです。
あのを、なぜあなたは.SVCファイルを削除したいのですか? – DOK
私はあなたがそれを読むことができるので、私はそこにそれが好きではなかった。 – TheGateKeeper
標準的な方法から逸脱しようとする前に、新しい技術を通常の方法で学ぶ方が簡単な場合もあります。特にあなたが好きではない理由だけでなく、あなたが選んだ理由も十分に確立されていなければ。あなたが頑固に感じているなら、あなたは[WCF .svc extention](http://stackoverflow.com/questions/7354616/wcf-removing-svc-extention)を見つける右の "関連"リンクを閲覧することができます。 )などが挙げられる。 – DOK