C# 长复杂URI

C# 长复杂URI,c#,web-services,uritemplate,C#,Web Services,Uritemplate,我有一个Web服务,可以访问网络上的一些资源。服务有一个查找资源并返回资源路径的方法。另一种方法是使用此路径发送到Web服务的请求 我尝试将整个UNC路径(用HttpServerUtlility.urltokencode方法编码)传递给Web服务。结果URI非常长(331个字符),我得到“HTTP 400错误请求” 如何处理如此长的URI?如果我的URI短了大约10个字符,那么请求将通过。不幸的是,URI的大小是可变的,在某些情况下可能更大。我需要做哪些更改?配置文件中是否有允许长URI的任何设

我有一个Web服务,可以访问网络上的一些资源。服务有一个查找资源并返回资源路径的方法。另一种方法是使用此路径发送到Web服务的请求

我尝试将整个UNC路径(用
HttpServerUtlility.urltokencode
方法编码)传递给Web服务。结果URI非常长(331个字符),我得到“HTTP 400错误请求”


如何处理如此长的URI?如果我的URI短了大约10个字符,那么请求将通过。不幸的是,URI的大小是可变的,在某些情况下可能更大。我需要做哪些更改?配置文件中是否有允许长URI的任何设置?

枚举要授予访问权限的资源,并存储一个字典/sql表,以便按guid索引这些资源

例:


第一个方法将返回guid,第二个方法将查找guid以查找文件

。注意,您不必提前创建映射。每当第一次请求资源时,为其创建映射,然后从那时起利用该映射。如果客户端要缓存guid,请确保将其存储在某种持久状态,以便在服务器重新启动时可以检索到它,等等。还有其他方法吗?我不希望每次都查找给定的guid。我假设,如果资源所在的目录只有两个,则可以使用int进行目录查找和文件名。或者,如果您可以确定这些文件的名称是唯一的,那么只需使用文件名即可。如果guid的长度对您来说太长,您可以很容易地使用类似ShortGuid的内容:331个字符不是很长。你可能还有其他问题。
3941dbffc1b54581837010a42b42635d = //server/path/to/file