我在实例化不同服务的行上从IIS 7收到编译错误。
“CS0246:找不到类型或命名空间名称'MyOtherService'(您是否缺少using指令或程序集引用?)”
我是否需要在web.config文件中为该服务添加另一个程序集引用?这是我的网络配置:
<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="MyService.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<system.web>
<customErrors mode="Off"/>
<compilation debug="true">
<assemblies>
<add assembly="Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342"/>
</assemblies>
</compilation>
</system.web>
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="MyServiceBinding">
<security mode="Message">
<message clientCredentialType="Windows"/>
</security>
</binding>
</wsHttpBinding>
</bindings>
<services>
<service name="MyService">
<endpoint binding="wsHttpBinding" behaviorConfiguration="webHttp" contract="MyService">
<identity>
<dns value="https://IPADDRESS:443"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="webHttp">
<webHttp defaultOutgoingResponseFormat="Json" />
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="WCFWsHttpBindingHttps.MyServiceBehavior">
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true"/>
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
<applicationSettings>
<MyService.Properties.Settings>
<setting name="MyService_MyOtherService_MyOtherService" serializeAs="String">
<value>http://path-to-service/MyOtherService.svc</value>
</setting>
</MyService.Properties.Settings>
</applicationSettings>
</configuration>
答案 0 :(得分:0)
请检查以下内容:
<service name="MyService">
<endpoint binding="wsHttpBinding" behaviorConfiguration="webHttp" contract="MyService">
<identity>
<dns value="https://IPADDRESS:443"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
service元素中的name属性应该是完全限定的。例如:namespace.MyService是需要存在的值
对于端点元素中的contract属性,它应该是完全限定的。 例如:namespace.IMyService