本文整理匯總了C#中System.Net.Http.HttpRequestMessage.SetEdmModel方法的典型用法代碼示例。如果您正苦於以下問題:C# HttpRequestMessage.SetEdmModel方法的具體用法?C# HttpRequestMessage.SetEdmModel怎麽用?C# HttpRequestMessage.SetEdmModel使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類System.Net.Http.HttpRequestMessage
的用法示例。
在下文中一共展示了HttpRequestMessage.SetEdmModel方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: GetSampleRequest
private static HttpRequestMessage GetSampleRequest()
{
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/property");
request.SetEdmModel(GetSampleModel());
HttpConfiguration configuration = new HttpConfiguration();
configuration.Routes.MapFakeODataRoute();
request.SetConfiguration(configuration);
request.SetFakeODataRouteName();
return request;
}
示例2: GetODataPathHandlerReturnsDefaultPathHandlerByDefault
public void GetODataPathHandlerReturnsDefaultPathHandlerByDefault()
{
HttpRequestMessage request = new HttpRequestMessage();
IEdmModel model = new EdmModel();
request.SetEdmModel(model);
var pathHandler = request.GetODataPathHandler();
Assert.NotNull(pathHandler);
Assert.IsType<DefaultODataPathHandler>(pathHandler);
}
示例3: GetSampleRequest
private HttpRequestMessage GetSampleRequest()
{
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/employees");
HttpConfiguration configuration = new HttpConfiguration();
string routeName = "Route";
configuration.Routes.MapODataRoute(routeName, null, GetSampleModel());
request.SetConfiguration(configuration);
IEdmEntitySet entitySet = _model.EntityContainers().Single().FindEntitySet("employees");
request.SetEdmModel(_model);
request.SetODataPath(new ODataPath(new EntitySetPathSegment(entitySet)));
request.SetODataRouteName(routeName);
return request;
}
示例4: SetEdmModelThenGetReturnsWhatYouSet
public void SetEdmModelThenGetReturnsWhatYouSet()
{
// Arrange
HttpRequestMessage request = new HttpRequestMessage();
IEdmModel model = new EdmModel();
// Act
request.SetEdmModel(model);
IEdmModel newModel = request.GetEdmModel();
// Assert
Assert.Same(model, newModel);
}
示例5: GetODataPathHandlerReturnsDefaultPathHandlerByDefault
public void GetODataPathHandlerReturnsDefaultPathHandlerByDefault()
{
HttpRequestMessage request = new HttpRequestMessage();
ODataModelBuilder modelBuilder = new ODataConventionModelBuilder();
modelBuilder.EntitySet<Customer>(typeof(Customer).Name);
IEdmModel model = modelBuilder.GetEdmModel();
request.SetEdmModel(model);
var pathHandler = request.GetODataPathHandler();
Assert.NotNull(pathHandler);
Assert.IsType<DefaultODataPathHandler>(pathHandler);
}
示例6: TryMatchMediaTypeWithNonRawvalueRequestDoesntMatchRequest
public void TryMatchMediaTypeWithNonRawvalueRequestDoesntMatchRequest()
{
IEdmModel model = ODataTestUtil.GetEdmModel();
PropertyAccessPathSegment propertySegment = new PropertyAccessPathSegment((model.GetEdmType(typeof(FormatterPerson)) as IEdmEntityType).FindProperty("Age"));
ODataPath path = new ODataPath(new EntitySetPathSegment("People"), new KeyValuePathSegment("1"), propertySegment);
ODataPrimitiveValueMediaTypeMapping mapping = new ODataPrimitiveValueMediaTypeMapping();
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/People(1)/Age/");
request.SetEdmModel(model);
request.SetODataPath(path);
double mapResult = mapping.TryMatchMediaType(request);
Assert.Equal(0, mapResult);
}
示例7: TryMatchMediaTypeWithBinaryRawValueMatchesRequest
public void TryMatchMediaTypeWithBinaryRawValueMatchesRequest()
{
IEdmModel model = GetBinaryModel();
PropertyAccessPathSegment propertySegment = new PropertyAccessPathSegment((model.GetEdmType(typeof(RawValueEntity)) as IEdmEntityType).FindProperty("BinaryProperty"));
ODataPath path = new ODataPath(new EntitySetPathSegment("RawValue"), new KeyValuePathSegment("1"), propertySegment, new ValuePathSegment());
ODataBinaryValueMediaTypeMapping mapping = new ODataBinaryValueMediaTypeMapping();
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/RawValue(1)/BinaryProperty/$value");
request.SetEdmModel(model);
request.SetODataPath(path);
double mapResult = mapping.TryMatchMediaType(request);
Assert.Equal(1.0, mapResult);
}
示例8: Match
public override bool Match(HttpRequestMessage request, IHttpRoute route, string parameterName, IDictionary<string, object> values, HttpRouteDirection routeDirection)
{
if (routeDirection != HttpRouteDirection.UriResolution)
{
return true;
}
object odataPathValue;
if (!values.TryGetValue(ODataRouteConstants.ODataPath, out odataPathValue))
{
return false;
}
var pathString = odataPathValue as string;
if (pathString == null) pathString = string.Empty;
ODataPath path = null;
try
{
path = VersionAwarePathHandler.Parse(request, EdmModel, pathString);
}
catch (ODataException e)
{
throw new HttpResponseException(request.CreateErrorResponse(HttpStatusCode.NotFound, "Invalid OData path", e));
}
if (path != null)
{
values[ODataRouteConstants.ODataPath] = path.Segments.First();
// Set all the properties we need for routing, querying, formatting
request.SetEdmModel(EdmModel);
request.SetODataPathHandler(VersionAwarePathHandler);
request.SetODataPath(path);
request.SetODataRouteName(RouteName);
request.SetODataRoutingConventions(RoutingConventions);
if (!values.ContainsKey(ODataRouteConstants.Controller))
{
// Select controller name using the routing conventions
string controllerName = SelectControllerName(path, request);
if (controllerName != null)
{
values[ODataRouteConstants.Controller] = controllerName;
}
}
}
return path != null;
}
示例9: SetEdmModelThenGetReturnsWhatYouSet
public void SetEdmModelThenGetReturnsWhatYouSet()
{
// Arrange
HttpRequestMessage request = new HttpRequestMessage();
ODataModelBuilder modelBuilder = new ODataConventionModelBuilder();
modelBuilder.EntitySet<Customer>(typeof(Customer).Name);
IEdmModel model = modelBuilder.GetEdmModel();
// Act
request.SetEdmModel(model);
IEdmModel newModel = request.GetEdmModel();
// Assert
Assert.Same(model, newModel);
}
示例10: OnActionExecuted_DoesntChangeTheResponse_IfResponseIsntSuccessful
public void OnActionExecuted_DoesntChangeTheResponse_IfResponseIsntSuccessful()
{
IEdmModel model = new Mock<IEdmModel>().Object;
ODataPath path = new ODataPath(new EntitySetPathSegment("FakeEntitySet"),
new KeyValuePathSegment("FakeKey"),
new PropertyAccessPathSegment("FakeProperty"),
new ValuePathSegment());
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/");
request.SetEdmModel(model);
request.SetODataPath(path);
ODataNullValueAttribute odataNullValue = new ODataNullValueAttribute();
HttpResponseMessage response = SetUpResponse(HttpStatusCode.InternalServerError, null, typeof(object));
HttpActionExecutedContext context = SetUpContext(request, response);
odataNullValue.OnActionExecuted(context);
Assert.Equal(response, context.Response);
}
示例11: OnActionExecuted_Generates404_IfContentIsNull
public void OnActionExecuted_Generates404_IfContentIsNull()
{
IEdmModel model = new Mock<IEdmModel>().Object;
ODataPath path = new ODataPath(new EntitySetPathSegment("FakeEntitySet"),
new KeyValuePathSegment("FakeKey"),
new PropertyAccessPathSegment("FakeProperty"),
new ValuePathSegment());
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/");
request.SetEdmModel(model);
request.SetODataPath(path);
ODataNullValueAttribute odataNullValue = new ODataNullValueAttribute();
HttpResponseMessage response = SetUpResponse(HttpStatusCode.OK, null, typeof(object));
HttpActionExecutedContext context = SetUpContext(request, response);
odataNullValue.OnActionExecuted(context);
Assert.NotNull(context.Response);
Assert.Equal(HttpStatusCode.NotFound, context.Response.StatusCode);
}
示例12: GenerateLocationHeader_ThrowsEntityTypeNotInModel_IfContentTypeIsNotThereInModel
public void GenerateLocationHeader_ThrowsEntityTypeNotInModel_IfContentTypeIsNotThereInModel()
{
CustomersModelWithInheritance model = new CustomersModelWithInheritance();
ODataPath path = new ODataPath(new EntitySetPathSegment(model.Customers));
HttpRequestMessage request = new HttpRequestMessage();
request.SetEdmModel(model.Model);
request.SetODataPath(path);
CreatedODataResult<TestEntity> createdODataResult = GetCreatedODataResult(request);
// Act & Assert
Assert.Throws<InvalidOperationException>(() => createdODataResult.GenerateLocationHeader(),
"Cannot find the entity type 'System.Web.Http.OData.Results.CreatedODataResultTest+TestEntity' in the model.");
}
示例13: GenerateLocationHeader_ThrowsEntitySetMissingDuringSerialization_IfODataPathEntitySetIsNull
public void GenerateLocationHeader_ThrowsEntitySetMissingDuringSerialization_IfODataPathEntitySetIsNull()
{
ODataPath path = new ODataPath();
HttpRequestMessage request = new HttpRequestMessage();
request.SetEdmModel(EdmCoreModel.Instance);
request.SetODataPath(path);
CreatedODataResult<TestEntity> createdODataResult = GetCreatedODataResult(request);
// Act & Assert
Assert.Throws<InvalidOperationException>(() => createdODataResult.GenerateLocationHeader(),
"The related entity set could not be found from the OData path. The related entity set is required to serialize the payload.");
}
示例14: GenerateLocationHeader_ThrowsODataPathMissing_IfRequestDoesNotHaveODataPath
public void GenerateLocationHeader_ThrowsODataPathMissing_IfRequestDoesNotHaveODataPath()
{
HttpRequestMessage request = new HttpRequestMessage();
request.SetEdmModel(EdmCoreModel.Instance);
CreatedODataResult<TestEntity> createdODataResult = GetCreatedODataResult(request);
// Act & Assert
Assert.Throws<InvalidOperationException>(() => createdODataResult.GenerateLocationHeader(),
"The operation cannot be completed because no ODataPath is available for the request.");
}
示例15: PrimitiveTypesSerializeAsOData
public void PrimitiveTypesSerializeAsOData(Type valueType, object value, MediaTypeHeaderValue mediaType,
string resourceName)
{
string expectedEntity = Resources.GetString(resourceName);
Assert.NotNull(expectedEntity);
ODataConventionModelBuilder modelBuilder = new ODataConventionModelBuilder();
modelBuilder.EntitySet<WorkItem>("WorkItems");
IEdmModel model = modelBuilder.GetEdmModel();
string actualEntity;
using (HttpConfiguration configuration = CreateConfiguration())
using (HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get,
"http://localhost/WorkItems(10)/ID"))
{
request.SetConfiguration(configuration);
IEdmProperty property =
model.EntityContainers().Single().EntitySets().Single().ElementType.Properties().First();
request.SetEdmModel(model);
request.SetODataPath(new ODataPath(new PropertyAccessPathSegment(property)));
request.SetFakeODataRouteName();
ODataMediaTypeFormatter formatter = CreateFormatter(request);
formatter.SupportedMediaTypes.Add(mediaType);
Type type = (value != null) ? value.GetType() : typeof(Nullable<int>);
using (ObjectContent content = new ObjectContent(type, value, formatter))
{
actualEntity = content.ReadAsStringAsync().Result;
}
}
bool isJson = resourceName.EndsWith(".json");
if (isJson)
{
JsonAssert.Equal(expectedEntity, actualEntity);
}
else
{
Assert.Xml.Equal(expectedEntity, actualEntity);
}
}