你咋知道没读到?
因为报错了,但是我的web.config文件里是有的
Can not find SQLXmlFilePath setting in config file.
@firefly_t: 你的代码中是如何读取 appSetting 的?
@Launcher: 这个可能没有关系哦,因为之前我是windows server2003+sharepoint,现在升级到windows server 2008 R2+sharepoint SP2,sharepoint网站和下面的应用程序都是从之前环境中迁移过来的。
@firefly_t: 我没看过你的部署和代码,我只能逐个问题的猜测,如果你觉得没有关系,那我就不问别的了。
@Launcher: 额、大侠留步,请继续提问。。。。
@firefly_t: 你的代码中是如何读取 appSetting 的?
@Launcher: ConfigurationManager.AppSettings["SQLXmlFilePath"];
@firefly_t: 看下这条语句的值:WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath).FilePath,同你部署的应用程序的 web.config 的路径是否一致。
@Launcher: 真的是非常感谢啊,前面那个问题原因已经找出来了,是IIS7.5中.NET Trust Levels 的问题,现在设置成”Full(internal)“,之前的问题就没有出现了。
但是现在确有另外一个问题,使用classic的应用程序池取不到windows集成身份认证用户,如果使用integrated模式的程序池,如果是单独的网站没有问题,但是如果是sharepoint下的应用就会有:
Server Application Unavailable
The web application you are attempting to access on this web server is currently unavailable. Please hit the "Refresh" button in your web browser to retry your request.
Administrator Note: An error message detailing the cause of this specific request failure can be found in the application event log of the web server. Please review this log entry to discover what caused this error to occur.
@firefly_t:
1、是因为是 sharepoint 下的应用,还是因为使用了相同的应用程序池?
2、会打开详细错误页面吗?
3、知道在服务器上浏览能够看到详细错误信息吗?
4、sharepoint 是基于 .net 几?
5、你的应用又是基于 .net 几?
6、你是如何取 windows 集成身份认证用户?
.....
@Launcher: 1、2、3:sharepoint是使用的classic的线程池,我为sharepoint下的应用单独建一个classic的应用程序池,结果跟使用sharepoint的应用程序池错误一致。如果我使用integrated应用程序池,则报上面我贴出来的错误,不管是否在服务器上访问。
4、5:sharepoint 是2007 SP2的版本,所以sharepoint跟应用都是使用的.net 2.0;
6、我写了一个模拟windows集成认证的页面,代码如下。如果使用classic的应用程序池,不管是单独部署,还是部署为sharepoint下的一个应用,都会报错。但是如果单独部署,使用integrated的应用程序池,则一切运行正常。
@firefly_t: 你查一下你这个截图中,那个对象的引用是 Null 。
@firefly_t: 为网站启用详细错误信息,会吗?会查看 Windows 事件日志吗?