2

ASP.Net アプリケーションで WCF サービスを実行しています。svc ファイルの内部は次のようになります。

<%@ ServiceHost Language="C#" Debug="true" Service="my.api.Awesomeapi" Factory="my.api.AwesomeHostFactory" %>

ファクトリ コード ビハインドも ASP.Net アプリケーションにあり、次のようになります。

namespace my.api
{
    /// <summary>
    /// Custom Service Factory class for Awesome Web Service
    /// </summary>
    public class AwesomeHostFactory : ServiceHostFactory
    {
        private const string CONST_DEFAULT_ADDRESS = "http://localhost/api/Awesomeapi.svc";
        private static readonly string m_sBaseAddress = my.Utilities.GetAppConfigSetting("AwesomeAPIBaseAddress", CONST_DEFAULT_ADDRESS, true);

    protected override ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses)
    {
        ServiceHost AwesomeAPIServiceHost = null;
        Uri oURI = new Uri(m_sBaseAddress);           
        AwesomeAPIServiceHost = new ServiceHost(serviceType, oURI);          
        return AwesomeAPIServiceHost;
    }

}
}

サービスは正常に動作しますが、Visual Studio 2010 で w3wp.exe プロセスにアタッチし、CreateServiceHost メソッドにブレークポイントを設定して、上記の localhost URL に初めてアクセスすると、ブレークポイントの円が中空になります (到達できないコードを示します)。次に、サービスが実行され、一般的な「サービスが作成されました」というメッセージが表示され、ブレークポイントが通常の赤いアイコンに戻ります。ここで何が起こっているか知っている人はいますか?

4

0 に答える 0