【发布时间】:2010-12-20 00:24:29
【问题描述】:
我正在尝试自托管 WCF Web 服务并提供支持 ajax 的 HTTP 端点。我发现的关于 WCF 和 AJAX 的几乎所有内容都在谈论 IIS,我不想使用它。
我已经构建了一个简单的控制台应用程序来托管服务。我的服务只有一个方法:
[ServiceContract]
interface IMyService
{
[OperationContract]
string TestConnection();
}
这里是 app.config 代码:
<services>
<service name="Service.MyService" behaviorConfiguration="MyServiceBehavior" >
<endpoint address="" binding="webHttpBinding" behaviorConfiguration="WebBehavior" contract="Service.IMyService" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="WebBehavior">
<enableWebScript/>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="MyServiceBehavior" >
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
我可以访问服务元数据端点并查看 WSDL,但我无法从我的 ajax 客户端使用它。所以我的问题是: 1. 可以这样做吗? 2. 我显然缺少什么所需的配置?
注意我没有使用 .svc 文件
谢谢!
【问题讨论】:
-
客户端是否在网络浏览器中运行?如果是这样,您可能遇到了浏览器的跨域 XHR 限制。
-
是的,这是我的问题之一!
标签: ajax wcf self-hosting