微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – MVC Web应用程序内的托管WCF服务

我在现有的MVC Web应用程序中添加一个WCF服务,以便在OLAP多维数据集工具( Syncfusion)上显示它.当我使用启用http的站点执行应用程序时会发生什么,我能够访问如下的WCF方法,

$("#OlapClient").ejOlapClient({ url: "/Areas/OLAP/wcf/OlapClientService.svc"});

但是,当我从启用https的站点执行此操作时,我无法访问WCF方法.它只是抛出404方法未找到异常.以下是我的WCF的web.config.

Web.config文件

<system.serviceModel>
 <behaviors>
  <endpointBehaviors>

    <behavior name="OLAP.wcf.OlapClientServiceAspNetAjaxBehavior">
      <enableWebScript />
    </behavior>
  </endpointBehaviors>
  <serviceBehaviors>
    <behavior name="">
      <serviceMetadata httpsGetEnabled="false" />
      <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
  </serviceBehaviors>

</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
<services>

  <service name="OLAP.wcf.OlapClientService">
    <endpoint address="" behaviorConfiguration="OLAP.wcf.OlapClientServiceAspNetAjaxBehavior" binding="webHttpBinding" contract="OLAP.wcf.IOlapClientService">

    </endpoint>
  </service>
</services>
<bindings>
  <basicHttpBinding>
    <binding name="BasicHttpBinding_IService1" />
  </basicHttpBinding>
</bindings>
<client>
  <endpoint address="http://localhost:15415/VibrantWS.svc/soap"
    binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IService1"
    contract="ServiceReference1.IService1" name="BasicHttpBinding_IService1" />
</client>
</system.serviceModel>

解决方法

>如果您正在使用.Net Frame work 4.5高级服务,请确保“.Net Frame work 4.5高级服务WCF服务选项HTTP激活(需要检查)”下的IIS配置.
>确保web.config中的以下设置如下面的链接所示.

https://msdn.microsoft.com/en-us/library/hh556232(v=vs.110).aspx

Enable SSL for my WCF service

HTTPS-enabled,IIS hosted WCF service,How to secure it?

>尝试使用WEB API控制器而不是WCF服务来避免此问题.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐