我正在尝试在我的ASP.NET MVC 4站点(已成功托管被动STS端点)中托管活动的STS端点。出于某种原因,WCF运行时似乎没有“处理”对我的servive URI的调用。
在我的RouteConfig.cs文件中,我有这个:
routes.Add(new ServiceRoute("tokens", new MyTokenServiceHostFactory(), typeof(MyTokenServiceConfiguration)));
我认为,这是在没有.svc文件的情况下托管服务的正确方法。在我的web.config文件中,我有这个:
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
<!--(behaviors etc)-->
<services>
<service name="System.ServiceModel.Security.WSTrustServiceContract">
<endpoint address="" binding="ws2007HttpBinding" contract="System.ServiceModel.Security.IWSTrust13SyncContract"/>
</service>
</services>
</system.serviceModel>
这个大块的配置可以成功地用于自托管服务,我唯一改变的是端点的地址。
当我尝试拨打该服务时,我得到:
System.ServiceModel.Security.MessageSecurityException:从另一方收到了一个不安全或不正确安全的故障。请参阅内部FaultException以获取故障代码和详细信息。 ---&GT; System.ServiceModel.FaultException:无法处理消息。这很可能是因为操作“http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue”不正确,或者因为邮件包含无效或过期的安全上下文令牌,或者因为绑定之间存在不匹配。
登录服务跟踪是:
System.ServiceModel.EndpointNotFoundException 没有可以通过操作“http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue”接受消息的频道。
我在这里做错了什么?
答案 0 :(得分:0)
看看这里
和
表示工作样本。
答案 1 :(得分:0)
使用标准ASP.NET提供程序的ASP.NET MVC 4.5中基于声明的标识
使用VS2012和&amp ;;构建简单的自定义STS ASP.NET MVC
http://chris.59north.com/post/2013/04/09/Building-a-simple-custom-STS-using-VS2012-ASPNET-MVC.aspx