2

メソッドを使用してWCFサービスを作成しています

[OperationContract]
[WebGet(UriTemplate = "acl/f={fullFileName}")]
string GetACL(string fullFileName);

fullFileNameは、ネットワークファイルまたはホスト上のファイルへのフルパスです。

ホストは、webHttpBindingと動作構成を備えたWindowsサービスです。次のようなブラウザからこれを呼び出したい

http://localhost/webservice/acl/f=[my network path here]

... / acl / f = file:// \ server \ share \ file.ext ... / acl / f = file:// c:\file.extを試しました

ブラウザに「エンドポイントが見つかりません」と表示されます。

... / acl / f = file.txtを呼び出すことができ、ファイルが見つからなかったことを示す適切な応答がサービスから返されるため、これが機能することはわかっています。そのため、URIでスラッシュを使用しないと、メソッドが正しく呼び出されます。

これについての考えは大歓迎です。

ありがとう、hotmailのbeezlerco ...

4

2 に答える 2

1

スラッシュ、コロン、および技術的にはピリオドもエンコードする必要があります。

  • \ %5C である必要があります
  • / %2F である必要があります
  • . %2E である必要があります
  • : %3A である必要があります

他のほとんどの特殊文字については、 http://www.asciitable.com/を参照し、「%」とその表の 16 進列を使用してください。

于 2010-02-09T20:10:18.827 に答える
0

HttpUtility.UrlEncodeが探しているものだと思います。
(詳細な説明については、「HttpUtility.UrlEncode を使用して QueryStrings をエンコードする」を参照してください)

于 2010-02-09T20:10:53.790 に答える