从unity3D中消费WCF
本文关键字:WCF unity3D | 更新日期: 2023-09-27 18:14:23
我在本地主机的IIS中托管了一些wcf web服务。我希望能够从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);
我在我的脚本文件夹中有一个配置文件,但我不知道我是否应该用它做点什么。我用Visual Studio 2010中的svcutil
创建了unity类。
使用System.ServiceModel;
这个语句在我的类实现中丢失了。
我这样调用webservice:
UnityStoreClient client = new UnityStoreClient(new BasicHttpBinding(), new EndpointAddress(some_url));
实际上,异常消息会提示您缺少什么。
配置管理器无法在web的部分中找到与WCF服务相关的任何详细信息。配置文件。
您正在调用的WCF服务的详细信息应该存储在web中。配置文件。在您的web中应该有这样的端点定义。配置文件:
<system.serviceModel>
<client>
<endpoint name="BasicHTTPEndpoint"
address="http://myUnits3DService.svc"
binding="basicHttpBinding"
contract="IService"/>
...
也许你应该从这里检查使用svcutil.exe的详细信息