次のレイアウトの 2 つのプロジェクトがあるとします。
- プロジェクト「ウェブ」
- global.asax (eg 内の登録先はこの先を考えました
void Application_Start(System.Object sender, System.EventArgs e) - web.config
 
 - global.asax (eg 内の登録先はこの先を考えました
 - プロジェクト「wcf」
- DemoService.cs
 - IDemoService.cs
 
 
web.configこのようになります
<configuration>
    <system.serviceModel>
        <behaviors>
            <serviceBehaviors>
                <behavior name="fooBehavior">
                    <serviceMetadata httpGetEnabled="true" />
                </behavior>
            </serviceBehaviors>
        </behaviors>
        <services>
            <service name="wcf.DemoService"
                     behaviorConfiguration="fooBehavior">
                <endpoint address="mex"
                          binding="mexHttpBinding"
                          contract="IMetadataExchange" />
                <endpoint address=""
                          binding="wsHttpBinding"
                          contract="wcf.IDemoService" />
            </service>
        </services>
    </system.serviceModel>
</configuration>
だから...今...どこか(上記のように私が考えたglobal.asax)に登録する必要があります.URIを参照すると wcf.DemoService解決され、mex-requestの場合wcf.IDemoServiceは属性を読み取ってWSDLを取得するために解決されます。
これは通常、.svcファイルを作成し、最初の行にヘッダーを配置することによって行われます。たとえば、次のようになります。
<%@ ServiceHost Language="C#" Debug="true" Service="wcf.DemoService" %>
たとえば、コンソールアプリケーションでは
var serviceHost = new ServiceHost(typeof (wcf.DemoService));
serviceHost.Open();
hostこれを要素内の要素と組み合わせてURIserviceを指定するか、別の ctor-overload を使用しますServiceHost
しかし、静的登録 (またはweb.configIIS 7.5 で機能する任意の登録) を使用したいのですが、これは可能ですか? もしそうなら、どのように?