4

我有一些 wcf web 服务,我在 localhost 上的 IIS 中托管。我希望能够从 Unity3d 访问它们,但是在播放场景时出现以下错误:

InvalidOperationException: Client endpoint configuration 'BasicHTTPEndpoint' was not found in 0 endpoints.
System.ServiceModel.ChannelFactory.ApplyConfiguration (System.String endpointConfig)
System.ServiceModel.ChannelFactory.InitializeEndpoint (System.String endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress)
System.ServiceModel.ChannelFactory`1[IUnityStore]..ctor (System.String endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress)
System.ServiceModel.ClientBase`1[TChannel].Initialize (System.ServiceModel.InstanceContext instance, System.String endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress)
System.ServiceModel.ClientBase`1[TChannel]..ctor (System.ServiceModel.InstanceContext instance, System.String endpointConfigurationName)
System.ServiceModel.ClientBase`1[TChannel]..ctor (System.String endpointConfigurationName)
UnityStoreClient..ctor (System.String endpointConfigurationName)
firstCall.Start () (at Assets/Scripts/firstCall.cs:8)

Web服务的实例化如下:

UnityStoreClient uc = new UnityStoreClient("BasicHTTPEndpoint");
uc.Open(); //i don't know if i need this ?????
UnityStoreLibrary.User[] users = uc.GetAllUsers("1",null);
for (int i=0;i<users.Length;i++)
    Debug.Log("username = " + users[i].username);

我的脚本文件夹中有一个配置文件,但我不知道是否应该用它做点什么。svcutil我使用Visual Studio 2010创建了统一类。

4

2 回答 2

6

使用 System.ServiceModel;

我的课程实现中缺少此语句。

我这样调用网络服务:

UnityStoreClient client = new UnityStoreClient(new BasicHttpBinding(), new EndpointAddress(some_url));
于 2013-05-28T19:53:11.827 回答
0

实际上,异常消息会提示您缺少什么。

ConfigurationManager 在 web.config 文件的部分中找不到与您的 WCF 服务相关的任何详细信息。

您正在调用的 WCF 服务的详细信息应存储在 web.config 文件中。您的 web.config 文件中应该有这样的端点定义:

<system.serviceModel>
<client>
  <endpoint name="BasicHTTPEndpoint"
      address="http://myUnits3DService.svc"
      binding="basicHttpBinding"
      contract="IService"/>
 ...

也许您还应该从此处查看有关使用 svcutil.exe 的详细信息。

于 2013-05-21T13:00:22.593 回答