重点在要有两套endpoint,一个支持http 一个支持 https
两套 Httpbinding 对应一个支持http 一个支持 https
还有httpsGetEnabled="true"
最终在浏览器访问时都能成功访问到。但实际使用时我调用的还是http方式
2.将客户端绑定多一个https方式,证书使用自签名证书
此时客户端用https访问http的wcf时,出现“跨域错误”
3.在IIS根目录C:\inetpub\wwwroot下放入crossdomain.xm和clientaccesspolicy.xml文件,即可正常使用
附上这两个XML内容clientaccesspolicy.xml
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="*">
<domain uri="*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
crossdomain.xml
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM>
<cross-domain-policy>
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>
这个问题弄了我2天时间。各种纠结最后终于成功。特此记录下开发环境:vs2010客户端:silverlight使用自签名证书的https服务端:wcf我的需求是客户端地址必须为https方式,服务端不限。最终成功解决的方式如下:1.WCF配置为可接受http 和 https请求,代码未改动,配置文件如下:
介绍和目标步骤1:使用
WCF
项目创建一个简单的服务步骤2:在服务的web.config文件中启用传输级安全性步骤3:绑定绑定并指定
HTTPS
配置步骤4:启用Web应用程序
HTTPS
步骤5:在Web应用程序中使用服务步骤6:禁止
HTTPS
错误步骤7:享受成功源代码
介绍和目标
当我们谈论
WCF
安全性时,有两种方式:传输级安全性和消息级安全性。传输级安
选中iis 左侧网站,某一个webside,
去掉web.config 中 system.serviceModel/services/service endpoint指定是http 协议,
修改web.config 添加rewrite pattern, 同时要在iis 添加 url 重定向功能, 安装 url rewrite module
<system.webServe.
昨天需要把做好的一个
wcf
服务发布到服务器
站点
下的一个虚拟目录中发布过程遇到了一个
问题
:服务器上的环境是
https
,因此需要多对配置文件修改于是在网上找啊找,遇到一个
问题
找一个
问题
,可是
问题
依然没
解决
。我在网上找到了一篇文章一步步照着上面写的做。
http://www.codeproject.com/KB/
WCF
/7steps
WCF
.aspxhttp://www.codeproject.com/...
今天客户上线,到了生产环境,才知道客户用的是
https
协议,吼吼,麻烦来了。搞了半晚上,从凌晨1点,。。。。。。。
总结一下,有以下几个地方需要注意:
1.启用
https
协议,需要用域名绑定地址(证书授权给这个域名),比如:如果你访问一个
https
网站,如果IE提醒你,该网站有危险是否继续,如果用域名访问就不会有这个提醒
2.需要有身份认证方式
3.服务端的行为
具体如下:web
的工具生成加密证书。
MakeCert.exe -sr localmachine -ss My -n CN=localhost,OU=
https
://localhost -sky exchange -pe -r localhost.cer
2,查看生成好的加密证书的『Thumbprint has...
<system.serviceModel>
<client>
<endpoint address="
https
://evitest.1010bao.com:8891/InternalService/EvidenceService.svc"
binding="basicHttpBinding" bindingConfigur...
1. 由于服务器端证书是颁发给主机名,导致ipv4或ipv6无法通过
HTTPS
协议访问
WCF
服务
2. 抛出的异常为 could not establish trust relationship for the
SSL
/TLS secure channel with authority
3. 可以使用下面代码跳过证书检查
System.Net.ServicePointManager.Se
C# WebConfig 是一个 XML 文件,用于配置 ASP.NET 应用程序的行为和设置。WebConfig 文件通常位于 ASP.NET 应用程序的根目录中,并用于指定应用程序的许多设置,例如数据库连接字符串、身份验证、授权、缓存、错误处理等等。
WCF
(Windows Communication Foundation)是一种微软开发的通信框架,可用于构建分布式应用程序和服务。
WCF
可以使用多种协议进行通信,包括 HTTP、TCP 和
HTTPS
等。在
WCF
中,
HTTPS
是一种安全的通信协议,可用于确保数据传输的机密性和完整性。
因此,在 C# 应用程序中使用
WCF
时,可以使用 WebConfig 文件来配置
WCF
服务的行为和设置,包括启用
HTTPS
协议、指定证书、配置终结点等等。例如,下面是一个示例 WebConfig 文件中配置
WCF
服务使用
HTTPS
协议的代码:
```xml
<system.serviceModel>
<services>
<service name="MyService">
<endpoint address="
https
://localhost/MyService"
binding="basicHttpBinding"
contract="IMyService" />
</service>
</services>
<bindings>
<basicHttpBinding>
<binding name="SecureBinding">
<security mode="Transport">
<transport clientCredentialType="None" />
</security>
</binding>
</basicHttpBinding>
</bindings>
</system.serviceModel>
在上面的示例中,我们配置了一个名为 MyService 的
WCF
服务,它使用基本 HTTP 绑定,并在
HTTPS
协议下使用地址
https
://localhost/MyService 进行通信。我们还定义了一个名为 SecureBinding 的绑定,它使用 Transport 安全模式,并指定客户端凭据类型为 None。同时,我们还可以在 WebConfig 文件中指定证书、身份验证、授权等其他设置,以满足应用程序的需求。