WCF REstful Service在Uri上传递用户和密码

本文关键字:用户 密码 REstful Service Uri WCF | 更新日期: 2023-09-27 18:02:51

我确实有一个WCF RESTful . net 4.0服务,它运行并从URI的主体中消费值#Json。

调用方法的方式如下:

使用Poster作为POST请求http://localhost: 25512/JSONService1.svc CreateItem

身体:

有人知道由罗

=

没问题!

但是我也想使用uri,

http://localhost: 25512/JSONService1.svc/CreateItem ? uid = aaa&通过= 111

这是我的代码

service .cs

[OperationContract]
[WebInvoke(UriTemplate = "CreateItem",  // ISSUES <<< not sure what to do here
        RequestFormat = WebMessageFormat.Json,
        ResponseFormat = WebMessageFormat.Json, Method = "POST")]    
void CreateItem(Stream streamOfData,string uid, string pass);

和与它相关的代码Service1.svc.cs

public void CreateItem(Stream streamOfData, string uid, string pass)
{
        StreamReader reader = new StreamReader(streamOfData);
        String res = reader.ReadToEnd();
        NameValueCollection coll = HttpUtility.ParseQueryString(res);
}

WCF REstful Service在Uri上传递用户和密码

要获取原始URI,您可以执行以下操作:

string originalUri = System.ServiceModel.Web.WebOperationContext.Current.IncomingRequest.UriTemplateMatch.RequestUri.OriginalString;

你可以使用系统。Uri类和/或HttpUtility类来解析Uri。

使用系统。Uri类只是传入Uri。

Uri myUri = new Uri("http://localhost:25512/JSONService1.svc/CreateItem?uid=aaa&pass=111");

或根据您的要求:

Uri myUri = new Uri(originalUri);

然后,您可以使用一些内置属性来检查Uri的各个部分。