王朝网络
分享
 
 
 

当VS.NET2003遇上VS.NET2005,WebService部署何去何从

王朝c#·作者佚名  2006-01-31
宽屏版  字体: |||超大  

当VS.NET2003遇上VS.NET2005

WebService部署何去何从

作者:贺星河(hxhbluestar)

时间:2005-1-16

【问题描叙】

重装操作系统之后,部署原来的Web Service出现无法访问、无法调试的问题

【原编程环境】

VS.NET2003(.NET Framework 1.1 SP1),Windows XP SP1

【新编程环境】

VS.NET2003(.NET Framework 1.1 SP1),VS.NET 2005 Beta1(.NET Framework 2.0 ),Windows XP SP2

【问题解决过程】

因为原来的项目一直使用工具VS.NET 2003,所以虽然VS.NET 2005 Beta已经出来好久了,却没有时间细细品味,现在项目告一段落,终于有机会了。

重装系统之后,所有工具都安装完毕,便将原来的Web Service源代码直接拷贝到 C:\Inetpub\wwwroot 目录下,在“Internet 信息服务(IIS)”中创建为虚拟目录,然后用 VS.NET2003打开部署,习惯性的(CTRL+F5)就开始运行了,一切正常,然后试着调用其中的一个方法,却总是出现如下错误:

System.TypeInitializationException: The type initializer for 'System.Transactions.Diagnostics.DiagnosticTrace' threw an exception. ---> System.UnauthorizedAccessException: The source was not found, but some or all event logs could not be searched. Inaccessible logs: Security.

at System.Diagnostics.EventLog.FindSourceRegistration(String source, String machineName, Boolean readOnly)

at System.Diagnostics.EventLog.SourceExists(String source, String machineName)

at System.Diagnostics.EventLog.SourceExists(String source)

at System.Transactions.Diagnostics.DiagnosticTrace..cctor()

--- End of inner exception stack trace ---

at System.Transactions.Diagnostics.DiagnosticTrace.get_Verbose()

at System.Transactions.Transaction.get_Current()

at System.Data.Common.ADP.GetCurrentTransaction()

at System.Data.Common.ADP.GetCurrentTransaction()

at System.Data.ProviderBase.DbConnectionPool.GetFromTransactedPool(Transaction& transaction)

at System.Data.ProviderBase.DbConnectionPool.GetConnection(Object owningObject)

at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnectionBase owningConnection)

at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnectionBase outerConnection)

at System.Data.ProviderBase.DbConnectionBase.Open()

at System.Data.SqlClient.SqlConnection.Open()

at Ezhi.DataAccess.DbHelper.DataAccessHelper.ExecuteDataset(CommandType commandType, String commandText, DataSet dsData, IDbDataParameter[] commandParameters)

at Ezhi.DataAccess.AccessClass.MealModule.RestaurantAccess.GetData(RestaurantData dsData, Int32[] iID)

at JolloRealService.EzhiServices.EzhiService.FillRestaurant()

at JolloRealService.EzhiServices.EzhiService..ctor()

一看出现了“System.TypeInitializationException:”和“Security”的字眼,就知道是安全问题,但是到底问题出在哪里?我一头雾水:是程序的问题?是Windows SP2的问题?是权限的问题?等等等等。于是便想通过 F5 来调试看看,结果弹出如下警告框:

确实看到了“没有启用集成Windows身份验证“,初步确定是权限问题,点击帮助,就进入了MSDN的如下地址页面

ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/vsdebug/html/vxtbsErrorDebuggingFailedBecauseIntegratedWindowsAuthenticationIsNotEnabled.htm

错误:调试失败,因为没有启用集成 Windows 身份验证

由于没有启用集成 Windows 身份验证,单步执行 Web 应用程序或 XML Web services 失败。因此无法对要求调试的用户进行身份验证。

启用集成 Windows 身份验证

1. 用管理员帐户登录到 Web 服务器。

2. 从“开始”菜单中,打开“管理工具”控制面板。

3. 在“管理工具”窗口中双击“Internet 信息服务”。

4. 在“Internet 信息服务”窗口中,使用树控件打开针对 Web 服务器命名的节点。

5. “Web 站点”文件夹出现在服务器名的下面。

6. 您可以为所有 Web 站点或个别 Web 站点配置身份验证。要为所有 Web 站点配置身份验证,请右击“Web 站点”文件夹并从快捷菜单中选择“属性”。要为个别 Web 站点配置身份验证,请打开“Web 站点”文件夹,右击个别 Web 站点,并从快捷菜单中选择“属性”。

7. 在“属性”对话框中,选择“目录安全性”选项卡。

8. 在“匿名访问和身份验证”部分,单击“编辑”按钮。

9. 在“身份验证方法”对话框的“已授权的访问”下,选择“集成 Windows 身份验证”。

10. 单击“确定”关闭“身份验证方法”对话框。

11. 单击“确定”关闭“属性”对话框。

12. 关闭“Internet 信息服务”窗口。

按照以上步骤,我把“集成Windows身份验证”勾上了,如下图:

再次按下 F5,心想总得允许我调试了吧,结果又蹦出了个对话框:

ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/vsdebug/html/vxtbsHTTPServerErrors.htm

错误:无法在 Web 服务器上启动调试

请参见

调试脚本和 Web:错误和疑难解答

当试图对运行在 Web 服务器上的应用程序进行调试时,有时可能会得到具有以下错误信息的消息:

Unable to start debugging on the Web server

如果遇到这些错误,则需要考虑以下几个问题:

要检查的内容 远程服务器上的 Web 应用程序 存储在 Visual SourceSafe 中并使用 FrontPage 服务器扩展的 Web 应用程序 手动附加

这下就更蒙了,完全不知道问题出在哪里了,都不允许我调试了!老办法,部署一下看看,我便又(CTRL+F5)了一下,再次调用某个方法,结果还是出现原来的错误System.TypeInitializationException:

因为程序以前调试过,所以应该不是程序的问题,那会不会是版本的问题呢,1.1和2.0的冲突?我仔细的检查了一下 IIS 中的设置,发现有如下一项:

发现默认的 ASP.NET Version 是2.0版本的,也就是说IIS默认选择了高版本的 Framework,我把版本选择为 1.1.4322.0,然后点“确定”,再F5调试,这次成功了,再调用方法,一切通过!

【问题延伸】

问题是解决了,回过头来,为什么会出现

System.TypeInitializationException: The type initializer for 'System.Transactions.Diagnostics.DiagnosticTrace' threw an exception. ---> System.UnauthorizedAccessException: The source was not found, but some or all event logs could not be searched. Inaccessible logs: Security.

的错误呢?如何通过MSDN的提示找出是版本问题呢?

查看MSDN:

System.TypeInitializationException:作为由类初始值设定项引发的异常周围的包装引发的异常。无法继承此类。

System.UnauthorizedAccessException:当操作系统因 I/O 错误或指定类型的安全错误而拒绝访问时所引发的异常。

仅仅通过这一点信息,我们是无法确定的,于是我Google了一下 “System.UnauthorizedAccessException”

找到以下几个有用的信息:

一、

http://blog.csdn.net/wwwsq/archive/2004/11/30/198945.aspx

[ASP.NET]System.UnauthorizedAccessException: 拒绝访问。

二、

http://www.error-bank.com/microsoft.public.dotnet.framework.webservices/4131_Thread.aspx

这个帖子讨论的一个部署WebService的相关问题,与权限相关,但却和我发现的这个问题无关

看来,出现System.UnauthorizedAccessException的问题有很多种,在这个问题里面,唯一的解释就是:

.NET Framework1.1和.NET Framework2.0 之间有一个权限级别,相对来说2.0的权限更高,1.1的程序无法正常调用2.0的组件。

【后话】

初步推测会出现这个问题的原因是Framwork之间的互操作权限问题,欢迎讨论。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有