我有一个我刚刚编写的小程序,它使用以下 uri 模板。
[UriTemplate = "xml/{user_id}/{content_id}/{time}")]
在我的本地开发机器上
/blahblah.svc/xml/1/1/1
在我的远程机器上
/myapp/blahblah.svc/xml/1/1/1
可以,但是当我尝试将其部署到远程计算机时,我收到 500 错误,当我查看 500 错误时,服务器似乎正在尝试在 blahblah.svc/xml/ 中查找 web.config。
在 blahblah.svc 之后,它似乎没有正确绑定到 url。
在我的 web.config 中,我有:-
<system.serviceModel>
<services>
<service name="JASWebservices.JCPSRest" behaviorConfiguration="ServiceBehaviour">
<endpoint address ="" binding="webHttpBinding" contract="JASWebservices.IJCPSRest" behaviorConfiguration="web">
</endpoint>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehaviour">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="web">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
因此,如果我在本地(在我的开发机器上)访问它,它就可以工作。如果我在 prod 服务器上远程访问它,它需要 500 秒。目前我能看到的唯一区别是在开头包含 /myapp/,因为 prod 服务器上有多个站点,每个站点都有自己的 Web 应用程序。