惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Privacy International News Feed
Martin Fowler
Martin Fowler
D
Docker
Y
Y Combinator Blog
云风的 BLOG
云风的 BLOG
U
Unit 42
T
Tailwind CSS Blog
J
Java Code Geeks
G
Google Developers Blog
MongoDB | Blog
MongoDB | Blog
阮一峰的网络日志
阮一峰的网络日志
WordPress大学
WordPress大学
月光博客
月光博客
大猫的无限游戏
大猫的无限游戏
美团技术团队
F
Fortinet All Blogs
N
News and Events Feed by Topic
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Hacker News - Newest:
Hacker News - Newest: "LLM"
The GitHub Blog
The GitHub Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Recorded Future
Recorded Future
N
Netflix TechBlog - Medium
Google DeepMind News
Google DeepMind News
Hacker News: Ask HN
Hacker News: Ask HN
L
LINUX DO - 最新话题
Microsoft Security Blog
Microsoft Security Blog
N
News and Events Feed by Topic
I
Intezer
TaoSecurity Blog
TaoSecurity Blog
NISL@THU
NISL@THU
小众软件
小众软件
博客园 - 聂微东
博客园 - Franky
有赞技术团队
有赞技术团队
P
Palo Alto Networks Blog
爱范儿
爱范儿
H
Hacker News: Front Page
C
Cyber Attacks, Cyber Crime and Cyber Security
C
Cisco Blogs
P
Proofpoint News Feed
I
InfoQ
Google DeepMind News
Google DeepMind News
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Vercel News
Vercel News
H
Heimdal Security Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
量子位

博客园 - aquilahkj

在Flutter中使用极光推送集成华为通道踩坑 Flutter中生成Android的jks签名文件并使用 ABP Vnext使用mysql数据库 实现ElementUI Dialog宽度响应式变化 使用Vue Baidu Map对百度地图实现输入框搜索定位 在dotnet core实现类似crontab的定时任务 使用Docker搭建HttpRunnerManager环境 docker搭建nginx反代ngrok服务 - aquilahkj 开源一个基于dotnet standard的轻量级的ORM框架-Light.Data VMware Fusion下安装Win8启用Hyper-V centos下安装rinetd(转载) 在Mac OS X上安装JavaHL SVN数据仓库配置 mysql 创建 主键索引 唯一索引 全文索引 多列索引 添加索引 CentOS 6.0 安装 MONO 2.10.8 关于MYSQL 远程登录的授权方法 命令 CentOS 6.0 编译安装 MySQL 5.5.17 linux下允许root用户远程登录 Linux Vi命令
在MONO下实现WCF所遇到的问题
aquilahkj · 2011-11-10 · via 博客园 - aquilahkj

最近要在Linux上移植一套.net开发的B/S系统,首先需要部署一个WCF服务,系统选用CentOS,现用虚拟机测试,已安装mono 2.10.6,xsp2,mod_mono和httpd,一切部署,建立测试用的aspx页面,访问正常,xsp的测试网站也全部正常.

安装方法 http://www.cnblogs.com/aquilahkj/archive/2011/11/03/2234380.html#

  编辑/etc/httpd/conf.d/mod_mono.conf

在下方加入 AddType application/x-asp-net .svc 这样mod_mono才会解析WCF的svc页面.

建立测试用的WCF程序放进服务器,输入地址访问服务svc页面,报500错误  

  Contract 'MyWcfApp.IService1' was not found in the implemented contracts in this service host.

google很久也没有结果,测试服务在windows下正常访问,无任何问题,无论怎修改方法和特性标签也没用,折腾到最后,发现~~原来是编译版本的问题,在windows下使用了3.5的的framework编译,改为4.0就没有问题,原因应该是我们mod_mono.conf中,把MonoServerPath设置为mod-mono-server4,所以需要用4.0的框架编译.

用4.0编译后再次打开连接,返回soap错误

anyType was already contained in the schema object table. Consider setting MONO_STRICT_MS_COMPLIANT to 'yes' to mimic MS implementation. Related schema item SourceUri

google了文章  http://archive.cnblogs.com/a/2113112/ 发现应该是环境变量的问题,需要设置环境变量MONO_STRICT_MS_COMPLIANT=yes

有两个方法解决:

1. 在WCF网站中新增Global.asax文件,修改代码如下

protected void Application_Start(object sender, EventArgs e)

        {

#if MONO

            Environment.SetEnvironmentVariable("MONO_STRICT_MS_COMPLIANT", "yes");

#endif

        } 

2.修改/etc/rc.d/init.d/httpd

在末端添加如下代码:

MONO_STRICT_MS_COMPLIANT=yes

export MONO_STRICT_MS_COMPLIANT 

httpd作为服务随系统启动时,加入该环境变量,并export 

配置完成后,在windows编写测试客户端测试,能正常调用,但每次首次调用时连接时程序卡了10多秒,之后请求就很快了,不知原因为何,还望指点,另外如果我在服务端抛出异常时,客户端就报一下错误

Addressing Version 'AddressingNone (http://schemas.microsoft.com/ws/2005/05/addressing/none)' does not support adding WS-Addressing headers. 

不会报我服务器实际的异常错误.也找不到解决方法,但当把客户端部署在CentOS直接调用访问服务端时,连接只卡了1秒多,并且也能抛出真正异常.估计是mono生成的SOAP请求问题吧.