【发布时间】:2010-02-12 11:51:32
【问题描述】:
我正在尝试创建一个简单的 ConsoleApplication,我想在其中托管一个简单的 wcf 服务。
这是我的代码
namespace HostConsoleApplication
{
class Program
{
static void Main(string[] args)
{
using (System.ServiceModel.ServiceHost host = new System.ServiceModel.ServiceHost(typeof(FirstWcfService.Service)))
{
host.Open();
Console.WriteLine("Sai");
Console.ReadLine();
}
}
}
}
然后我添加了一个 app.config,如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<services>
<service name="FirstWcfService.Service" behaviorConfiguration="ServiceBehavior">
<endpoint address="FirstWcfService" binding="netTcpBinding" contract="FirstWcfService.IService"/>
<endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:9101/"/>
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior" >
<serviceMetadata httpGetEnabled="false" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
当我运行主机控制台应用程序时,我得到了这个异常:
System.InvalidOperationException 是 unhandled Message="找不到 匹配方案 http 的基地址 对于具有绑定的端点 元数据交换HttpBinding。 注册的基地址方案是 [net.tcp]。”
来源="System.ServiceModel"
堆栈跟踪: 在 System.ServiceModel.ServiceHostBase.MakeAbsoluteUri(Uri relativeOrAbsoluteUri,绑定 绑定,UriSchemeKeyedCollection 基本地址) 在 System.ServiceModel.Description.ConfigLoader.LoadServiceDescription(ServiceHostBase 主机,ServiceDescription 描述, 服务元素服务元素, 动作`1 addBaseAddress) 在 System.ServiceModel.ServiceHostBase.LoadConfigurationSectionInternal(ConfigLoader 配置加载器,服务描述 描述,服务元素 服务部分) 在 System.ServiceModel.ServiceHostBase.LoadConfigurationSectionInternal(ConfigLoader 配置加载器,服务描述 描述,字符串配置名称) 在 System.ServiceModel.ServiceHostBase.ApplyConfiguration() 在 System.ServiceModel.ServiceHostBase.InitializeDescription(UriSchemeKeyedCollection 基本地址) 在 System.ServiceModel.ServiceHost.InitializeDescription(类型 服务类型,UriSchemeKeyedCollection 基本地址) 在 System.ServiceModel.ServiceHost..ctor(类型 serviceType, Uri[] baseAddresses) 在 HostConsoleApplication.Program.Main(字符串 [] args) 在 C:\Documents 和 设置\navin.pathuru\我的 文档\Visual Studio 2008\Projects\Solution2\HostConsoleApplication\Program.cs:line 13 在 System.AppDomain._nExecuteAssembly(程序集 程序集,字符串 [] 参数) 在 System.AppDomain.ExecuteAssembly(字符串 汇编文件,证据 装配安全,字符串 [] 参数) 在 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() 在 System.Threading.ThreadHelper.ThreadStart_Context(对象 状态) 在 System.Threading.ExecutionContext.Run(ExecutionContext 执行上下文,上下文回调 回调,对象状态) 在 System.Threading.ThreadHelper.ThreadStart() 内部异常:
只是想知道如何解决这个问题。 谢谢 否
【问题讨论】:
-
您需要突出显示您的代码行和 XML,并使用编辑器工具栏中的“代码”按钮 (101 010) 以获得良好的结果 - 格式正确并突出显示语法!