我编写了一个在我的IDE中运行良好的WCF Web服务。现在我已经构建了一个设置并将其安装在我们的Web服务器上,并且由于配置的HTTP到HTTPS重定向而出现了一些问题。在我的web.config中进行了一些更改之后,我将服务保持在运行状态,并且调用函数也能正常工作。例如,/ Customers / GetAll返回一个客户对象列表,以JSON序列化,对于/ Customer / name = XYZ,它返回一个对象,具体取决于客户的名称。
现在我的问题(;)抱歉VB.Net):
<OperationContract()> _
<WebGet(ResponseFormat:=WebMessageFormat.Json, UriTemplate:="User/Get/value={pValue}&identifier={pSearchIdentifier}")> _
Function GetUser(ByVal pValue As String, pSearchIdentifier As String) As LMEngine.User
仅返回&#34;错误请求&#34;没有别的。我还为此函数添加了一些日志记录行。如果我在本地运行该服务,我的所有日志行都将写入我的文件 - 在我们的网络服务器上,没有任何反应。
我想我的web.config中有些东西,但我真的不知道要改变什么。 如果有任何错误,请检查配置吗?
<system.serviceModel>
<services>
<service behaviorConfiguration="LogMeWebServiceRest.Service1Behavior" name="LogMeWebServiceRest.LogMe">
<!--WCF Test Client-->
<!--<endpoint address="" binding="wsHttpBinding" contract="LogMeWebServiceRest.ILogMe">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>-->
<!-- For testing in Browser -->
<endpoint address="" binding="webHttpBinding" contract="LogMeWebServiceRest.ILogMe" bindingConfiguration="LogMeEndpointBinding" behaviorConfiguration="webBehavior" />
</service>
</services>
<bindings>
<webHttpBinding>
<binding name="LogMeEndpointBinding">
<security mode="Transport">
</security>
</binding>
</webHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="LogMeWebServiceRest.Service1Behavior">
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpsGetEnabled="true"/>
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="webBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
谢谢!
答案 0 :(得分:0)
这可能与网址有关。在webserver中,可能是调用不同的方法,这就是为什么它没有记录任何东西。 只是为了排除故障,尝试将uritemplate更改为UriTemplate:=&#34; User5 / Get5 /.."