IIS中部署WCF访问网络盘问题

本文探讨了WCF服务在IIS部署下无法访问网络映射盘的问题及解决办法。通过调整权限配置无效后,最终选择将WCF服务寄宿在Winform或控制台应用程序中成功解决了访问限制。

    最近遇到这样一个问题:

    有一个WCF服务,在服务中需要访问网络映射盘.把WCF服务部署到IIS中不能访问到网络路径。

   

 bool exist = File.Exists(fileName);//fileName为网络路径

总是出现“访问非法内存....”异常

但是同样的服务在调式环境下 可以正确访问到。

 

  最后分析是因为IIS访问网络盘权限不够,然后在IIS中把可能导致该问题的权限全部都加上,结果还是不行。原因是在IIS中配置的权限是用户访问文件目录(虚拟目录或网站)的权限而非IIS访问其他文件目录的权限。

   上述方法不行,进而有了下面的方法:

    Winform或控制台程序可以正常访问网络路径,就产生了把wcf服务寄宿在winform或控制台程序中,这次没让我失望。

   

ExpandedBlockStart.gif代码
1             _baseUri = new Uri(url);
2             _servicehost = new ServiceHost( typeof( GetKeyframe ), _baseUri );
3             _servicehost.AddServiceEndpoint( typeof( IGetKeyframe ), new BasicHttpBinding(), string.Empty );
4             var behavior = new ServiceMetadataBehavior
5             {
6                 HttpGetEnabled = true,
7                 HttpGetUrl = _baseUri
8             };
9             _servicehost.Description.Behaviors.Add(behavior);

    个人拙见,有错误的地方忘高手们指点。。。

    本人不善于文字游戏,初次写,欢迎拍砖。谢谢

    

转载于:https://www.cnblogs.com/Memory/archive/2010/03/31/1701723.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值