我已经打了一堵墙,现在已经拉了很长时间了。基本上,我需要创建一个WCF服务,它具有ASP.NET Membership和Authorization提供程序,但它需要允许传输byte []数组或Stream对象并将它们保存到Azure。该服务本身托管在Azure上。如何使用Membership/Authorization在Azure上使用WCF服务启用流传输?
我遇到的问题是WCF希望交换客户端凭证的消息层安全性。所以,我有以下的配置它工作得很好:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="DefaultServiceBehavior">
<serviceMetadata httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceAuthorization principalPermissionMode="UseAspNetRoles" roleProviderName="SqlRoleProvider" />
<serviceCredentials>
<serviceCertificate x509FindType="FindBySubjectName" storeName="My" storeLocation="LocalMachine" findValue="SecureChannelCertificate" />
<userNameAuthentication userNamePasswordValidationMode="MembershipProvider" membershipProviderName="SqlMembershipProvider" />
</serviceCredentials>
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<wsHttpBinding>
<binding name="SecureBinding" messageEncoding="Mtom">
<security mode="Message">
<message clientCredentialType="UserName" negotiateServiceCredential="true" establishSecurityContext="true" />
</security>
</binding>
</wsHttpBinding>
</bindings>
</system.serviceModel>
所以后来要求改变了,现在我需要将文件推通过WCF服务Azure上。无论我做什么,WCF都会以各种各样的错误尖叫我。
有谁知道如何配置服务,以便它可以使用认证/授权以及流?
谢谢!
你能发布错误吗? – 2011-02-21 18:00:27