我的Unity(17)工作中遇到的一些问题总结

xiaoxiao2021-02-28  13

一 使用Webservice 

1webservice就不用介绍了,各种语言都可以写,服务端和客户端分别来写。个人理解,大致的流程,服务端开发,部署网站上,客户端生成代理类,判断是否可以连接,直接调用。很方便。

2写一下客户端的使用吧,用的是C#  将服务转成代理类放在工程项目中直接使用就好,关键就是如何生成代理类,

使用Vs中的tool工具

打开后就是命令行

(1)输入:wsdl.exe/language:cs/n:wsdllib /out:D:\targetcs.cs http://localhost:port/update.asmx 

介绍一下:wsdl.exe 是打开wsdl.exe,

language:cs  是转成那种语言

n 表示的是目标代理类的命名空间 可以有可以没有,

out: 表示输出的路径,

D表示D盘,可以自由更改,注意路径的“\”而不是“/”

targetcs.cs 表示文件名称,

http://localhost:port/update.asmx  表示web的网址

还有可以将wsdl文件转成cs的代理类,

还是同样的命令行 这个是将wsdl文件转成cs文件,

(2)输入:wsdl.exe E:\WS.wsdl /out:E:\WS.cs

E:\WS.wsdl 源路径, out 后面 目标路径。

如果没有wsdl的文件的话 使用http://localhost:port/update.asmx   在最后加上?wsdl 网页上就会显示出wsdl的语言。

另外可以使用Vs  来导入外部工具。这个网上有教程。我就不写了。

二, DriveInfo[] driveInfos = DriveInfo.GetDrives ();在Unity中是不能使用的,C#本身是可以实现的,但是在UNity中mono中是不能实现的。同样的VS中是可以实现的 。也就是DLL的问题。

使用另一种来使用

private void Awake () { //获得所有的盘符 string[] dir = Environment.GetLogicalDrives (); for(int i = 0; i < 1; i++) { DirectoryInfo directory = new DirectoryInfo (dir[i]); //盘符下的所有文件夹 包括隐藏的 GetAllDriectory (directory); } } private void GetAllDriectory (DirectoryInfo info) { DirectoryInfo[] directoryInfo = info.GetDirectories (); Debug.Log (directoryInfo.Length); for(int i = 0; i < directoryInfo.Length; i++) { //不显示隐藏的文件夹 if((directoryInfo[i].Attributes&FileAttributes.Hidden)!=FileAttributes.Hidden) Debug.Log (directoryInfo[i].Name); } }

还有个知识点  分辨文件夹是否隐藏

if((directoryInfo[i].Attributes&FileAttributes.Hidden)!=FileAttributes.Hidden)通过位 来判断的  这样的就是排除了隐藏的
转载请注明原文地址: https://www.6miu.com/read-2050218.html

最新回复(0)