【发布时间】:2013-02-17 19:57:21
【问题描述】:
我是 WCF 的新手,正在尝试启动并运行它。我什至不能得到一个没有任何错误的空白版本。
web.config:
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="ServiceAspNetAjaxBehavior">
<enableWebScript />
</behavior>
<!--wcf-->
<behavior name="recordsWCF">
<webHttp/>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="recordsSWCF" >
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
<!--end wcf-->
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
<services>
<!--wcf-->
<service name="records.wcf" behaviorConfiguration="recordsSWCF" >
<!--<endpoint address="" binding="webHttpBinding" contract="IService" behaviorConfiguration="recordsWCF"/>-->
<endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />
</service>
<!--end wcf-->
<service name="Service">
<endpoint address="" behaviorConfiguration="ServiceAspNetAjaxBehavior" binding="webHttpBinding" contract="Service" />
</service>
</services>
</system.serviceModel>
就我的 wcf 代码而言,目前还没有太多工作要做。我只是想学习如何设置 web.config 而不会出现任何错误。 这是我的 wcf 定义:
[ServiceContract(Namespace = "records")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class wcf
{
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
[OperationContract]
[WebGet]
public string GetData()
{
Person p = new Person();
List<Person> test = new List<Person>();
p.Name = "Tom";
p.Age = 28;
test.Add(p);
p = new Person();
p.Name = "Dan";
p.Age = 22;
test.Add(p);
JavaScriptSerializer js = new JavaScriptSerializer();
string jsonString = js.Serialize(test);
return jsonString;
}
}
【问题讨论】:
-
如果你浏览到服务,你会得到什么错误?
-
此服务的元数据发布当前已禁用。
-
在两个端点上?另外,您似乎错过了 wcf 课程的结束...
-
两个端点是什么意思?此外,我还添加了课程的其余部分。
-
我想补充一下这个错误来自使用浏览器。
标签: asp.net wcf iis web-config wcf-binding