Ich verwende ASP.Net WebApi, das mit OData (mit ODataController) aktiviert ist.OData WebApi: Benutzerdefinierte Aktion funktioniert nicht
Ich habe eine Anforderung zu erfüllen, die ich brauche, um eine benutzerdefinierte Aktion hinzufügen, aber das funktioniert nicht, es sieht aus, ich habe etwas verpasst, kann jemand mich wissen lassen, wo ich falsch mache?
Vielen Dank im Voraus!
Im Folgenden sind Codeausschnitte meiner Implementierung.
Benutzerdefinierte Aktion
[HttpGet]
[Queryable]
public IQueryable<User> PersonalInfo()
{
int UserID = this.UserTicket.User_ID;
return _users.Queryable().Where(d => d.UserID == UserID);
}
Hinzufügen Aktion in ODataConfig
builder.EntitySet<User>(typeof(User).Name);
ActionConfiguration personalInfo = builder.Entity<User>().Collection.Action("PersonalInfo");
generiert Metadaten
<FunctionImport Name="PersonalInfo" IsBindable="true" m:IsAlwaysBindable="true">
<Parameter Name="bindingParameter" Type="Collection(Models.User)" Nullable="false"/>
</FunctionImport>
EDIT 1
ich verpasst, unten zu erwähnen ist der Fehler, den ich von der erwarteten URL erhalten:
keine HTTP-Ressource wurde gefunden, dass die Anforderungs-URI übereinstimmt ‚http://domain/odata/User/PersonalInfo‘.
In welcher Weise ist es nicht funktioniert? – DavidG
Haben Sie diese URL anstatt "http: // domain/odata/PersonalInfo" ausprobiert? – DavidG
@DavidG gibt 'Die Ressource kann nicht gefunden werden' !! – ANKIT