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

    最近遇到这样一个问题:

    有一个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、付费专栏及课程。

余额充值