我剛開始爲一家公司開展第一份工作,我的第一項任務是爲管理大型數據庫的C#Web應用程序添加一些功能。此應用程序使用WCF REST服務和實體框架將條目存儲到數據庫中(而不是應用程序旨在管理的主數據庫)。請注意,我對使用REST完全陌生。如何在本地測試REST服務
對我額外的功能,我需要修改REST服務,但根據公司政策,我需要完成與解決方案設計師,數據庫管理員,系統集成商等一個完整的代碼審查之前,我可以部署什麼開發服務器。
這意味着我無法部署我的修改後的REST,以便在本地測試我的新應用程序功能是否正常工作。因此,我一直在嘗試部署REST服務與本地IIS表達,但是當我使用嘗試使用我不斷收到一個錯誤,說明了REST:
Error: System.ServicModel.EndpointNotFoundException: There was no endpoint listening at http://localhost:45178/EmailWebServiceRest/EmailBatchManager/SendBatch that could accept the message.
在app.config解決方法是測試REST,EmailWebService.Proxy.TestHarness,如下所示;
<?xml version="1.0"?>
<configuration>
<appSettings>
<!--<add key="EmailWebService.RestServiceURI" value="http://webservices.capetown.gov.za/EmailWebServiceRest/EmailBatchManager"/>-->
<add key="EmailWebService.RestServiceURI" value="http://localhost:45178/EmailWebServiceRest/EmailBatchManager"/>
<add key="EmailWebService.ApplicationName" value="COD"/>
<add key="EmailWebService.ApplicationLicenseKey" value="b24968d3-7011-4dab-abba-f513a430b91f"/>
</appSettings>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
正如您所看到的,我只是在上面的App.config中更改了RestServiceURI。據我所知,REST服務正在IIS中運行。有沒有我失蹤的一些步驟?
REST服務解決方案本身的Web.config如下:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</configSections>
<appSettings>
<add key="ApplicationName" value="EmailWebService" />
</appSettings>
<connectionStrings>
<add name="EmailWebService"
connectionString="integrated security=SSPI;
data source=cbd-civic-dqc03;
persist security info=False;
initial catalog=EmailWebService"
providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<httpRuntime maxRequestLength="2147483647" />
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</modules>
</system.webServer>
<system.serviceModel>
<bindings>
<webHttpBinding>
<binding maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647">
<readerQuotas maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" maxStringContentLength="2147483647" maxDepth="2147483647" />
</binding>
</webHttpBinding>
</bindings>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
<standardEndpoints>
<webHttpEndpoint>
<standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="true" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" />
</webHttpEndpoint>
</standardEndpoints>
</system.serviceModel>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
<parameters>
<parameter value="Data Source=.\SQLEXPRESS; Integrated Security=True; MultipleActiveResultSets=True" />
</parameters>
</defaultConnectionFactory>
</entityFramework>
</configuration>
它看起來像你使用的是wcf,你應該能夠從visual studio中啓動項目。 VS可能只是爲你做所有的網頁 –