Metadata publishing for this service is currently disabled 的解决偏方

做一个支持ajax的wcf,然而却莫名其妙出现了 Metadata publishing for this service is currently disabled ,经历各种排查,把问题简化到最小:

 

新建一个空项目、新建一个没有任何内容的支持ajax的wcf文件,然后运行

 

依然特么的 Metadata publishing for this service is currently disabled 。

 

照着错误提示的说明,修改了web.config 的 system.serviceModel  中的那两节配置(name绝对没设置错)。

 

还是特么的 

Metadata publishing for this service is currently disabled 。

 


 

在尝试了各种各样的解决方案之后(编辑Web.config、修改IIS设置、甚至都重新注册了.net 3.0),没有办法。

 

这已经不是常规办法可以解决的。 古往今来的改朝换代都离不开一个规律:乱世。  所以,就乱搞吧。


以下是乱搞步骤:

 

1 :把 system.serviceModel 节以及它下属的所有内容删除,不要犹豫,删!

2 :先放置一个傀儡: 新建一个常规的wcf文件(不要从别处复制文件进来,一定要新建),注意是常规的,也就是最普通的那种,不带ajax的,把它起名try1.svc。

这时候web.config会自动添加一些东西进去了,别去管它加了什么,现在是非常规方法,研究是没有意义的。

 

 

 

3 :最后,建立我们需要的真正的带ajax的wcf文件,同理,一定要新建。命名为real.svc。

 

 

好了,这时候运行测试real.svc,一定能够正常运行了。 即使是/js也没问题了。

 

4 :事成之后,记得在web.config文件中把try1相关的东西删掉。

 

不要问我为什么,也劝你别去追究为什么, 系统错误提示首先对我们说谎, 谎言是没有必要问为什么的。

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值