В моем довольно ограниченном опыте OpenRasta вы можете использовать метод .And для добавления дополнительных расположений ресурсов .AtUri.
Т.е. в вашем случае
ResourceSpace.Has
.ResourcesOfType<Request>()
.AtUri("/processing").And.AtUri("/processing/{processid}")
.HandledBy<SomeHandler>()
.TranscodedBy<SomeCodec>();
где {фигурные скобки}укажите входной параметр вашего метода Handler, например:
public class SomeHandler
{
public Request Get(int processid = 0) //specify a default value for the uri case /processed
{
if (processid == 0)
return Context.Set<Request>().ToList(); //Context comes from my DbContext derived class which is part of my entity model.
else
return GetRequestFromProcessId(processid) //this is a private method in your handler class using Linq to SQL to retreive the data your interested in. I can't see your handler so I'm making it up.
}
}
В документации OpenRasta я обнаружил примечание, в котором указано, что вы ДОЛЖНЫ иметь определение DestinSpace (только одно) для каждого соответствующего типа и обработчика.Другими словами, вы не должны дублировать один и тот же класс ResourceOfType с тем же классом обработчика HandledBy.Я проверил это, и это именно тот случай, и, возможно, почему вы задаете вопрос в первую очередь.
Nb этот код полностью не проверен, я только что взял образец того, что написал и подставил вваши классы и ури, где известно.Это также предполагает, что вы пытаетесь получить данные из HTTP-запроса GET.Другой участник пошел по маршруту POST, но вы не указали.