zoukankan      html  css  js  c++  java
  • IIS中部署WCF访问网络盘问题

        最近遇到这样一个问题:

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

       

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

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

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

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

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

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

       

    代码
    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);

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

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

        

  • 相关阅读:
    CSS样式权值
    JS正则表达式总结
    call, apply, bind作用
    JSON和JSONP区别
    重重保护下的堆
    [转载]舌尖上的清华 I
    [转载]Windows Phone学生开发者注册教程2月版
    忙碌的生活没有空写博客
    Qt应用之手机截图
    [转]我是设计院的
  • 原文地址:https://www.cnblogs.com/Memory/p/1701723.html
Copyright © 2011-2022 走看看