Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 有没有一种方法可以在不为WCF Web服务创建新的应用程序池的情况下以不同的用户身份运行WCF Web服务_.net_Wcf_Web Services_Iis 7 - Fatal编程技术网

.net 有没有一种方法可以在不为WCF Web服务创建新的应用程序池的情况下以不同的用户身份运行WCF Web服务

.net 有没有一种方法可以在不为WCF Web服务创建新的应用程序池的情况下以不同的用户身份运行WCF Web服务,.net,wcf,web-services,iis-7,.net,Wcf,Web Services,Iis 7,我有一个WCF/.net4web服务。对于我的常规.NET web应用程序(主要是MVC2),我可以通过进入IIS7控制面板中的“基本设置>连接方式>指定用户”来指定另一个广告帐户的模拟。但是,当我为WCF服务设置此选项时,该服务仍将作为IIS用户运行。我知道模拟正在工作,因为我可以在同一个应用程序文件夹中转储一个常规aspx页面,该页面只会吐出模拟用户的ID 我发现让WCF服务作为不同的用户运行的唯一方法是为该用户创建一个新的应用程序池,并将其分配给我的应用程序。有没有办法像使用常规.NET应

我有一个WCF/.net4web服务。对于我的常规.NET web应用程序(主要是MVC2),我可以通过进入IIS7控制面板中的“基本设置>连接方式>指定用户”来指定另一个广告帐户的模拟。但是,当我为WCF服务设置此选项时,该服务仍将作为IIS用户运行。我知道模拟正在工作,因为我可以在同一个应用程序文件夹中转储一个常规aspx页面,该页面只会吐出模拟用户的ID


我发现让WCF服务作为不同的用户运行的唯一方法是为该用户创建一个新的应用程序池,并将其分配给我的应用程序。有没有办法像使用常规.NET应用程序一样使用现有池和IIS模拟?我真的不想为每个需要不同访问权限的新.NET服务创建新的应用程序池

尽管WCF模型被设计为在托管环境和传输中保持一致的行为,但在某些情况下,应用程序通常不需要这种程度的灵活性。适用于不需要在IIS外部托管或通过HTTP以外的协议进行通信,但使用ASP.NET Web应用程序平台所有功能的场景

WCF的ASP.NET兼容模式通过以下配置(位于应用程序的Web.config文件中)在应用程序级别启用:


如果这符合你的需要,你可以试试

<system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
</system.serviceModel>