我在本地机器上运行了 WCF 服务
一切主题都可以正常运行
问题是
如果我可以在我的本地机器浏览器上调用此WCF
服务,为什么它在其他机器上不可用
我尝试过的:
- 我的服务地址是
localhost
:port
在另一台机器上,我用运行我的服务的机器的 ip 替换了本地主机,WCF
但它不起作用 - 在我的
App.config
我改变了baseaddress
你可以在下面看到localhost
的机器 ip 并且它也没有工作 - 我创建了一个 Web 应用程序并使用它调用我的服务
getJson
,它在我的本地机器浏览器上运行,而不是在任何其他机器上它加载整个页面并给我错误getJson
我在这里想念什么???我不知道
IService1.cs
[OperationContract]
[WebGet(UriTemplate = "GetName/{name}",
ResponseFormat = WebMessageFormat.Json)]
List<Eval> GetName(string name);
应用程序配置
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
<system.serviceModel>
<bindings>
<webHttpBinding>
<binding name="webHttpBindingWithJsonP" crossDomainScriptAccessEnabled="true"></binding>
</webHttpBinding>
</bindings>
<services>
<service name="WcfServiceLibrary1.Service1">
<host>
<baseAddresses>
<add baseAddress = "http://192.168.1.5:8733/Design_Time_Addresses/WcfServiceLibrary1/Service1/" />
</baseAddresses>
</host>
<endpoint address="" binding="webHttpBinding" bindingConfiguration="webHttpBindingWithJsonP" contract="WcfServiceLibrary1.IService1" behaviorConfiguration="web">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="False" />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="web">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
WCF 测试客户端
浏览器