我一直在尝试服务工厂,但在长文件名方面遇到了一些问题——超过了 Vista/XP 的限制。问题在于,从模型服务工厂生成代码时,所有内容都带有指定的命名空间。使文件夹结构变得巨大。例如开始于
c:\work\sftest\MyWebService
我在数据合同和服务接口中创建了每个名称长度适中的模型。我将命名空间设置为 MyCompany.SFTest.MyWebservice
生成代码后,我最终得到
c:\work\sftest\MyWebService\MyCompany.SFTest.MyWebService c:\work\sftest\MyWebService\MyCompany.SFTest.MyWebService c:\work\sftest\MyWebService\MyCompany.SFTest.MyWebService\Source c:\work\sftest\MyWebService\MyCompany.SFTest.MyWebService\Source\Business Logic c:\work\sftest\MyWebService\MyCompany.SFTest.MyWebService\Source\Resource 访问 c:\work\sftest\MyWebService\MyCompany.SFTest.MyWebService\Source\Service 接口 c:\work\sftest\MyWebService\MyCompany.SFTest.MyWebService\Source\Service Interface\MyCompany.SFTest.MyWebService.DataContracts c:\work\sftest\MyWebService\MyCompany.SFTest.MyWebService\Source\Service Interface\MyCompany.SFTest.MyWebService.FaultContracts c:\work\sftest\MyWebService\MyCompany.SFTest.MyWebService\Source\Service Interface\MyCompany.SFTest.MyWebService.MessageContracts c:\work\sftest\MyWebService\MyCompany.SFTest.MyWebService\Source\Service Interface\MyCompany.SFTest.MyWebService.ServiceContracts c:\work\sftest\MyWebService\MyCompany.SFTest.MyWebService\Source\Service Interface\MyCompany.SFTest.MyWebService.ServiceImplementation c:\work\sftest\MyWebService\MyCompany.SFTest.MyWebService\Source\Tests
每个文件夹下都有一个具有相同前缀的项目文件
c:\work\sftest\MyWebService\MyCompany.SFTest.MyWebService\Source\Service Interface\MyCompany.SFTest.MyWebService.ServiceImplementation\MyCompany.SFTest.MyWebService.ServiceImplementation.proj
这会破坏配方,因为 Windows 不能接受超过特定长度的文件名。
是否有必要在每个文件夹名称中明确包含命名空间?显然,在某些时候,我可能想将服务分支到另一个位置,但出于与上述相同的原因,可能无法做到。有解决方法吗?