发布Web Services

笔记本上Release后一切正常的Web Services,部署到另外一台2003的服务器上,出现两个问题:

1、Critical Error:

…没有权限访问注册表

其实只是在写入EventLog的时候ASPNET的权限不够,不过奇怪的是把ASPNET和匿名帐户加入Administrator组,重启,好像权限还是不够>.<

查看其列出的跟踪堆栈,发现好像是Enterprise Library中ADO.NET连接数据库的问题,在网上查了查,有用的文章不多,最后居然就在EntLib的FAQ里,发现是没有正确部署EnterLib程序集的问题。

安装程序工具(Installutil.exe)
允许通过执行指定程序集的安装程序组件来安装和卸载服务器资源。
注意: 在“%windir%Microsoft.NETFrameworkv1.1.xxxx”中可以找到Installutil.exe,其中xxxx是您使用的 .NET Framework 的内部版本号。

Installutil Microsoft.Practices.EnterpriseLibrary.Common.dll
Installutil Microsoft.Practices.EnterpriseLibrary.Configuration.dll
Installutil Microsoft.Practices.EnterpriseLibrary.Data.dll

一切恢复正常。

不过还是不知道为什么他的程序集部署的时候必须Install,而自己的dll就不用这一步。

PS:
删除用
Installutil /u xxx.dll

2、localhost访问没有问题,但用www.xxx.com访问,出错

在 .NET Framework 1.1 远程环境中,默认情况下 HTTP GET 和 HTTP POST 同时被禁用。这是出于安全方面的考虑。
当 Web 服务升级到 .NET Framework 1.1 后,应用程序使用 HTTP GET 或 HTTP POST 调用 Web 服务时会失败。
这些应用程序会收到以下一条错误信息 System.Net.WebException指出无法识别请求格式。

由于使用POST,现在已基本不可能转成SOAP协议,只有将其打开,更改Web.Config文件:
<configuration>
<system.web>
<webServices>
<protocols>
<!--
<add name="HttpGet">
-->
<add name="HttpPost"/>
</protocols>
</webServices>
</system.web>
</configuration>

Bug in Enterprise Library

TNND,最近在用Enterprise Library的时候,需要自己实现他的IAuthorizationProvider接口,然后在用他的配置工具(EntLibConfig.exe)进行配置的时候,老是提示:

The type name XXX is not valid.

但是我看了几百遍,还是觉得应该实现方式没有什么问题。好在Enterprise Library带有源码,我直接把他配置工具的下面行注释掉:

// errors.Add(instance, name, SR.ExceptionTypeNotValid(typeName));

于是一切使用正常,说明确实没有问题。但心中总是不爽。

今天在网上翻,终于发现,果然是微软的一个bug….

The problem is that some of the configuration settings have the [TypeValidation] attribute, which will attempt to check that the assembly qualified name of the type is a valid type. Unfortunately, this is running in an App Domain which is rooted in the EntLibConfig.exe directory, and so will only be able to resolves types in assemblies in that directory, or in the GAC.

而且提供的暂时解决方案居然就是直接注释掉那一行,他还友情提醒,因为没有检测,自己注意类型不要弄错了- –

唉…郁闷- –

所以,如果确实不想改动源码,可以直接把生成的DLL,用生成后事件copy到EntLibConfig.exe目录下就行了。

公车奇遇

那天晚上依然很晚下班,等了半天,倒霉685才来,已经人满为患了,我就站在中间位置。

旁边单座上坐着一个身材魁梧,肉顿顿的男子,约25岁。一个娇小女子坐在男子腿上,二人呈环抱状,两个人不停的谈话,男子嗓门极大,然后他说:”我给你猜个谜吧””好呀好呀””说巧克力和爆米花打架,巧克力赢了,打一种食物”,那女的做痴呆思考状,然后我也在那想,我估计车上很多人都在思考,后来那女的猜了几个不着边的东西都不对,我也快到站了,我就着急呀,快说答案呀,要不我得别扭死…

那男的很深沉的说,”我可说答案了呀…答案就是,巧克力棒!!!哈哈哈哈哈”…

我差点一口血吐出来,然后整个车上弥漫着那雄壮男的笑声。

学习先进典型 干出和谐成都

学习先进典型 干出和谐成都

–“建设成都接触贡献奖”获奖者先进事迹报告会昨隆重举行

他们是百姓心中的明星,明星心中装着百姓;
他们做残疾人最盼望、最需要的事,他们图的就是让老百姓说共产党好;
他们宁可卸甲归田,也不争当庸官;
他们为了百万农民兄弟,拼命将虚高药价降下来,给农民实惠是他们永恒的追求;
他们心里永存对群众的感激和敬意;

这样的他们,我们还能说虾米,大家一起干吧- –